如何为ZFT编写供应商程序/模块



我想写一个Zend Framework 2供应商模块,托管在github上,可以通过composer安装,并提供给全世界!

现在,虽然我在编写模块时没有遇到任何问题,但我正在努力解决这个问题。

我最初的本能是这样做:

  1. 设置zend framework 2骨架应用程序
  2. 将我的模块添加为普通模块
  3. 导航到模块文件夹并创建git-reo
  4. 处理模块并将模块更新到我的gitto

现在逻辑告诉我这不是正确的方法。所以我在想,也许我把这个模块写为一个独立的框架应用程序之外的模块,推送到gito,然后从gito拉到一个工作应用程序。。。

如果你能指导我学习教程,请告诉我,或者如果你能确认或否认我提出的想法,那也太好了。

您可能需要在模块周围使用一些应用程序来检查它是否工作,但这不应该影响创建该模块的方式。

当谈到ZendFramework2集成模块时,您真正需要的只是一个名为SomeNameSpaceModule的类,它必须可以通过Composer自动加载。请注意,没有将此文件放置在特定位置的要求。ZF2将检测到您在Composer中使用它,并简单地使用class_exists()进行检查,而不是试图定位文件,包括它,然后检查类。

这个类应该像ZF2期望模块那样显示关于模块的一些配置信息,即添加引导程序事件侦听器,通过getConfig()返回配置数据等。它不需要为getAutoloaderConfig()返回任何信息,因为Composer就是这样做的。

要将模块添加到ZF2应用程序,请将SomeNameSpace名称添加到文件config/application.config.php:

return array(
'modules' => array(
'OtherStuffForTheDemoApp',
'SomeNameSpace' # this enables your module in your demo app 
# and anywhere else where it's being used
),

ZF2会看到提到的模块,尝试实例化SomeNameSpaceModule,询问它你定义的所有配置,可能会调用你在那里提供的onBootstrap()之类的钩子函数,仅此而已。你的模块负责完成其余的工作,即提供服务管理器配置、提供控制器等。所有类都由Composer自动加载。

我相信Zend自己还没有回答如何公开模块图像等资源的问题——至少我看到了这些问题,但在最新版本的文档中没有得到回答:http://framework.zend.com/manual/current/en/modules/zend.module-manager.intro.html

模块中文件的组织完全取决于您,尽管将源文件放在名为src的文件夹中似乎是常见的做法,但测试可能会进入tests

相关内容

  • 没有找到相关文章

最新更新