在zend中创建插件时,我在哪里保存文件?

时间:2011-05-04 06:19:16

标签: zend-framework

这可能是新手学习zend最令人沮丧的部分。

我在哪里创建新班级文件?

这里有一个例子: http://forums.zend.com/viewtopic.php?f=69&t=4988

或另一个在这里: http://framework.zend.com/manual/1.11/en/zend.controller.plugins.html

但他们都没有提到应该创建这个插件的位置吗?

2 个答案:

答案 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_"

此处唯一的限制是您的“我的”文件夹必须位于包含路径中。将它放在“库”文件夹中解决了这个问题。