ZendFramework与其他框架集成

St.*_*and 13 javascript css php frameworks zend-framework

我想让这个问题成为那些对ZendFramework与其他库/框架集成感兴趣的人的指南.通过StackOverflow搜索并未提供有关该主题的广泛视图.

问题是:您在当前基于ZF的项目中使用了哪些库/框架?基于ZF的项目架构的最佳实践是什么?

我不是指任何已经属于ZF的组件.请给的描述aditional的您已集成框架(如RuckUsing,Smarty的,或学说).它也适用于任何GUI框架(可能您使用CSS框架),以及JS框架(不仅仅是jQuery原型,而是一些高级结构).

主要要求:它必须是ZendFramework项目.

将对描述性能优化的答案给予额外奖励.

UPDATE

每个答案都像@ BryanM一样提供信息,将被视为额外的赏金奖励.

Bry*_* M. 9

我在Zend Framework项目中使用Doctrine 2.它易于使用,无缝适应.集成它的基本步骤是:

  • 编写一个资源插件,使用中的配置选项初始化Doctrine 2 EntityManager application.ini.在Benjamin Eberlei的DoctrineExtensions中可以找到一个例子.
  • 我不依赖于全局注册表(Zend_Registry)来存储EntityManager引用,而是依赖于此处所述的简单依赖注入解决方案来向我的控制器提供实例.
  • 我依靠Doctrine的Event系统创建可重用的"行为"类来执行更新时间戳或验证数据等操作.
  • 我将所有实体和业务对象保存在应用程序的"模型"文件夹中(在它自己的命名空间下),以及我library文件夹中的所有其他内容.我大量使用PHP 5.3命名空间来保持组织有序.
  • 我使用Doctrine的new-ish Migrations库来通过命令行处理数据库的更新.
  • 我还强烈建议在Phing中创建详细的构建过程,以便处理库依赖性,自动化单元测试和运行可以集成到源代码控制或CI服务器中的迁移.如果你正在使用其中一个框架,也适合编译Javascript或CSS.

这些实践不仅适用于Doctrine,它们在您尝试构建网站架构时也会非常方便.我认为Zend在可扩展性方面最大的资产是Resource插件和ActionHelpers/Controller插件.