Sej*_*nus 4 php plugins zend-framework
目前我写的插件似乎随机工作或不工作.有些人工作,有些人不工作,有些工作部分时间工作,而且没有明显的模式.即使所有相同的内容都以相同的方式编写和注册(显然).而且我找不到关于将插件放在何处以及如何在application.ini中注册它们的正确文档,因此我需要依赖我在BLOG或此处找到的示例.并且这些示例中的一些可能会假设我的代码中可能不正确的事情.
所以我只举一个简单的例子,如果你可以建议如何使它工作,并提供关于ZF插件的好文章的链接,我非常感谢...
这是我目前做的事情:
目录结构:
/library
/Zend
/Plugins
Myplugin.php
/applications
/myApp
/configs
application.ini
/modules
/default
/controllers
/configs
/views, etc
/admin
/controllers
/configs
/views, etc
Bootstrap.php
/public_html
index.php
Run Code Online (Sandbox Code Playgroud)
Myplugin.php包含一个类:
Class Plugins_Myplugin extends Zend_Controller_Plugin_Abstract
{
public function init()
{
print 'If I can see this, it's finally working!';
}
}
Run Code Online (Sandbox Code Playgroud)
application.ini相关的东西看起来像这样:
includePaths.library = APPLICATION_PATH "/../../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
pluginpaths.plugins = "Plugins"
resources.myplugin =
resources.frontController.plugins.myplugin = Plugins_Myplugin
;//I assume Plugins_Myplugin should be resolved into library/Plugins/Myplugin.php with class Plugins_Myplugin inside, given present configuration. Most likely I am wrong somewhere
Run Code Online (Sandbox Code Playgroud)
最常见的错误通常是:
致命错误:第117行的/whatever/nevermind/domains/mydomain/library/Zend/Application/Resource/Frontcontroller.php中找不到类'Plugins_Myplugin'
有时它是,如果我只用"注册"它发现resources.myplugin =,省略了整个*resources.frontController.plugins.myplugin = Plugins_Myplugin*线.
显然,这不是注册插件的正确方法.这种方式有什么问题,以及什么是好方法(使用application.ini)?
taw*_*kov 11
您应该知道您的自定义命名空间是"插件"并考虑将这些行添加到您的配置中:
includePaths.library = APPLICATION_PATH "/../library"
autoloaderNamespaces[] = "Plugins"
resources.frontController.plugins[] = "Plugins_Myplugin"
Run Code Online (Sandbox Code Playgroud)
并确保删除这些:
includePaths.library = APPLICATION_PATH "/../../library"
pluginpaths.plugins = "Plugins"
resources.myplugin =
resources.frontController.plugins.myplugin = Plugins_Myplugin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9870 次 |
| 最近记录: |