php - Zend Framework 插件位置和名称

标签 php zend-framework

我一直在尝试创建自己的插件,但到目前为止似乎没有任何效果,让我们假设我将在应用程序文件夹下放置我的插件目录,我认为这是默认位置:

 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/

相关文章:

javascript - 奇怪的问题:jQuery AJAX 成功数据仅解析最后一个 JSON 节点

php - phpwebsocket-未定义函数socket_create()-在Windows/WAMP上启用php_sockets

php - 为什么使用 (array) 转换数组会导致数组项无法更新?

php - Symfony 2 嵌入表单 ArrayCollection 错误

php - Zend 表单验证范围日期

php - 如何使用 Zend_Db 有效地读取大量行?

php递增时间戳错误?

php - Zend Framework - 你能支持多个 View 渲染器吗?

php - 现在 Zend Query 已被弃用,在 url 中发布查询的最佳方式是什么?

php - 发送 : Creating models for a products table