我可以使用别名在 cakephp 加载插件吗?
Can I load a Plugin at cakephp with an alias?
假设我在 CakePHP 2.x 中安装了一个名称为 GmponosCakePlugin
的插件。此插件将位于文件夹名称为 GmponosCakePlugin
.
的 Plugins 文件夹下
要加载插件,我需要执行以下操作CakePlugin::load('GmponosCakePlugin');
然后,如果我需要使用此插件中的助手,我必须在 AppController 中使用以下语法 GmponosCakePlugin.MyHelper
才能加载助手。
有什么方法可以将此插件别名设为 Gmponos
以便我可以将其加载为 Gmponos.MyHelper
如果您不能重命名文件夹,那么答案不一定是否定的,但是由于 CakePHP 中没有明确的插件名称别名功能,所以您的所有选项都或多或少 "hacks"。
例如,一个选项是注册一个具有所需名称的附加假插件,以及指向实际插件文件夹的自定义路径,如
CakePlugin::load('Gmponos', array (
'path' => APP . 'Plugin' . DS . 'GmponosCakePlugin' . DS
));
这应该可行(虽然不确定可能的副作用),但它有点难看。并且应该注意的是,在大多数情况下,这需要另外注册正常的插件名称,因为在插件中,代码将引用实际的插件名称。
如果它是您自己的插件,并且使用的是 Composer,那么通过 installer-name
额外选项更改安装文件夹名称应该非常容易,这是我更喜欢的解决方案。
https://github.com/composer/installers#custom-install-names
当然,您也必须在插件代码本身中更改可能的插件名称引用。
假设我在 CakePHP 2.x 中安装了一个名称为 GmponosCakePlugin
的插件。此插件将位于文件夹名称为 GmponosCakePlugin
.
要加载插件,我需要执行以下操作CakePlugin::load('GmponosCakePlugin');
然后,如果我需要使用此插件中的助手,我必须在 AppController 中使用以下语法 GmponosCakePlugin.MyHelper
才能加载助手。
有什么方法可以将此插件别名设为 Gmponos
以便我可以将其加载为 Gmponos.MyHelper
如果您不能重命名文件夹,那么答案不一定是否定的,但是由于 CakePHP 中没有明确的插件名称别名功能,所以您的所有选项都或多或少 "hacks"。
例如,一个选项是注册一个具有所需名称的附加假插件,以及指向实际插件文件夹的自定义路径,如
CakePlugin::load('Gmponos', array (
'path' => APP . 'Plugin' . DS . 'GmponosCakePlugin' . DS
));
这应该可行(虽然不确定可能的副作用),但它有点难看。并且应该注意的是,在大多数情况下,这需要另外注册正常的插件名称,因为在插件中,代码将引用实际的插件名称。
如果它是您自己的插件,并且使用的是 Composer,那么通过 installer-name
额外选项更改安装文件夹名称应该非常容易,这是我更喜欢的解决方案。
https://github.com/composer/installers#custom-install-names
当然,您也必须在插件代码本身中更改可能的插件名称引用。