在开发插件时如何编写classes.php

问题描述 投票:0回答:1

我正在Windows平台上开发一个10月CMS插件,比如author.pluginname。

文件存储/ framework / classes.php是用我的类的链接自动生成的,对吗?

我不确定是否总是如此,我不知道我是否需要或如何强制它发生。这两个案例是:1)我刚刚创建了一个新类,2)我将我的插件发送到另一个测试(linux服务器)。

例如,我刚刚将我的插件复制到新的10月CMS安装,但在安装插件后插件:refresh,它没有出现在classes.php文件中。

我访问一个正在使用组件的页面,我得到一个类未找到错误:

"Class 'author\plugin\Models\modelx' not found" on line 653 of /pathtowww/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php

当我grep我的作者时,它找到了一些类但不是全部:grep -i author storage / framework / classes.php

我不得不手动添加它以使其工作,但我认为这不是我们应该做的。那么我应该在Class文件中编写还是在Plugin.php文件夹中“注册”?

请注意,此插件不在Marketplace中(显然是因为它没有开发)。

此外,当我使用Builder插件创建一个新类时,它确实出现在classes.php中。当我使用文本编辑器创建它时,它通常不会。抱歉,如果这很明显,但我很困惑......!

laravel octobercms
1个回答
0
投票

我发现问题的解决方案,以防任何人遇到这些问题。

1)如果使用Windows +其他操作系统,请确保文件夹/文件名的大小写正确。 Windows不区分大小写,因此在迁移到Linux / OSX之前,错误不会导致错误

2)仅当命名空间与文件的目录结构匹配时,才会自动生成Classes.php。因此,如果您移动文件(或具有错误的命名空间),将不会生成classes.php,您将找到未找到的类。

© www.soinside.com 2019 - 2024. All rights reserved.