我一直在尝试创建自己的插件,但到目前为止似乎没有任何效果,让我们假设我将在应用程序文件夹下放置我的插件目录,我认为这是默认位置:
application/plugins/WhosOnline.php
我的插件的内容:
Class My_Plugin_WhosOnline extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request) {
echo 'I have reached the plugin';
exit;
}
}
具体如何在 application.ini 文件中注册此插件?我尝试过:
resources.frontController.plugins.whosonline = "My_Plugin_WhosOnline"
我也尝试过:
resources.frontController.plugins[] = "My_Plugin_WhosOnline"
我收到错误:
Class 'My_Plugin_WhosOnline' not found
我怎样才能匹配这些路径?我是否必须创建目录 application/plugins/My/Plugin/ 然后将 WhosOnline.php 文件放在那里?我必须注册 namespace My_Plugin 吗?如果是这样,我该怎么做?请帮忙!我知道这个问题之前已经被问过,但我需要有人慢一点地向我解释。
最佳答案
如果插件位于 application/plugins/WhosOnline.php
中,则 Zend 应用程序的默认类名称将为 Application_Plugin_WhosOnline
。
如果您的应用程序命名空间不是 Application
,那么这将是您的类的前缀。
如果您希望该类名为 My_Plugin_WhosOnline
,请在 library
文件夹中创建一个名为 My
的文件夹,并创建一个名为 的子文件夹插件
(不是插件),然后将文件放在那里并将 Zend_Loader_Autoloader::getInstance()->registerNamespace('My_');
添加到您的 Bootstrap 中。
关于php - Zend Framework 插件位置和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8752402/