随着我们公司开始使用 Zend Framework 作为我们大多数项目的基础框架,我们希望在所有项目中共享一些通用元素。我谈论的事情如下:
- 模型的实现(基于学说2)
- 模型的 RBAC,包括用户、组、角色模型
- 用于 ajax 后端接口的基于 xml 的模板引擎
- (你的名字)...
基本上,所有的事情都要“上轨道”然后开始。打包这些组件的最佳方式是什么?我看到两种可能性:
作为模块
我们将必要的功能作为单独的模块包含到模块文件夹中。
临:
- 我们可以设置路由和执行代码,这对很多模块都有好处(想象一下:一个paypal模块需要某种回调url。如果我们的模块可以自己设置,不需要“项目开发者”的配置) .
- 我们可以提供开箱即用的真实功能(如用户管理)
- 我们有一个引导程序来设置自动加载和教义等。
缺点:
- 不好的地方?干扰用户项目
- 在项目之间共享有点困难(git子模块而不是类路径)
在库文件夹中
我们将它放在库文件夹中并将类路径指向它。
临:
- 清洁溶液
- 跨项目共享
缺点:
- Bootstrap 必须被显式调用
- 没有直接的路由或动作 - 一切都必须通过具体项目代理
那么,你如何解决这个问题?您将可重复使用的通用材料放在 zf 的什么位置?