首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakePHP 3如何构建cakephp-plugins.php文件?

CakePHP 3如何构建cakephp-plugins.php文件?
EN

Stack Overflow用户
提问于 2017-11-08 04:58:16
回答 1查看 291关注 0票数 1

我在安装和配置插件时遇到了一些问题,我想如果我能更好地了解它是如何工作的,我可能就能解决它了?!

当我通过composer安装cakemanager/cakephp-settings插件时,它会在我的供应商文件夹中添加一个'cakemanager‘文件夹,里面有3个子文件夹:'cakephp-settings','cakephp-utils’(一个依赖项)和'Settings‘。“cakephp-Settings”文件夹基本上是空的,所有的插件文件都在“Settings”文件夹中。

然而,当我尝试运行迁移时,我得到一个错误,它找不到/vendor/cakemanager/cakephp-settings/config/bootstrap.php文件-这并不奇怪,因为这个文件不存在!在我的应用程序中几乎所有地方都有相同的错误

在供应商/cakephp-plugins.php文件中,我有以下内容:

代码语言:javascript
复制
'Settings' => $baseDir . '/vendor/cakemanager/cakephp-settings/',

如果我临时将其更改为

代码语言:javascript
复制
'Settings' => $baseDir . '/vendor/cakemanager/Settings/',

我可以完成迁移,我的页面看起来又正常了,但是当我运行composer dumpautoload时,这会恢复,并导致更多的问题-我需要一个永久的解决方案。

如何编辑插件(composer.json文件?)以便它正确地构建cakephp-plugins.php文件,并在bootstrap.php文件的正确路径中查找?

EN

回答 1

Stack Overflow用户

发布于 2017-11-08 17:58:57

我建议你尝试合并,因为这将从根本上解决问题,如果安装了composer/installers,插件composer.json中的installer-name选项将导致目标文件夹被“错误”命名。

没有理由更改文件夹名,而且从版本3开始,CakePHP不再需要composer/installers,因此删除该选项应该可以解决问题。

如果您实际上不需要composer/installers,也可以尝试删除它。如果这是不可能的,您还应该能够通过Plugin::load() calls path选项指定实际路径来解决此问题:

代码语言:javascript
复制
Plugin::load('Settings', [
    'path' => ROOT . DS . 'vendor' . DS . 'cakemanager' . DS . 'Settings'
]);

向和/或报告问题可能也是值得的,也许可以让他们在installer-name选项方面协同工作。

另请参阅

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47167322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档