这可能是新手学习zend最令人沮丧的部分。
我在哪里创建新班级文件?
这里有一个例子: http://forums.zend.com/viewtopic.php?f=69&t=4988
或另一个在这里: http://framework.zend.com/manual/1.11/en/zend.controller.plugins.html
但他们都没有提到应该创建这个插件的位置吗?
答案 0 :(得分:4)
您可以在 application.ini 文件
中指定插件目录resources.frontController.plugindirectory = APPLICATION_PATH "/plugins"
或
autoloaderNamespaces[] = "My_"
resources.frontController.plugins.MyPlugin =
"My_Controller_Plugin_MyPlugin"
这假设你有
/path/to/library/My/Controller/Plugin/MyPlugin.php
了解有关zend框架中Application's Directory Layout的更多信息。
答案 1 :(得分:4)
最好的想法是将您的类放在自动加载器可以找到它们的位置。它也是模仿Zend类名结构的伪约定。
例如,假设您已经制作了一个名为“Foo”的控制器插件。命名类
class My_Controller_Plugin_Foo extends Zend_Controller_Plugin_Abstract
并将文件保存在library/My/Controller/Plugin/Foo.php
。
要让自动加载器选择“我的”命名空间(注意,这不是PHP 5.3命名空间),只需将其添加到application.ini
文件
autoloaderNamespaces.My = "My_"
此处唯一的限制是您的“我的”文件夹必须位于包含路径中。将它放在“库”文件夹中解决了这个问题。