Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZendFramework与其他框架的集成_Php_Javascript_Css_Zend Framework_Frameworks - Fatal编程技术网

Php ZendFramework与其他框架的集成

Php ZendFramework与其他框架的集成,php,javascript,css,zend-framework,frameworks,Php,Javascript,Css,Zend Framework,Frameworks,我想让这个问题成为那些对与其他库/框架集成感兴趣的人的指南。在StackOverflow上搜索并不能给出关于这个主题的广泛观点 问题是:您在当前基于ZF的项目中使用哪些库/框架?基于ZF的项目架构的最佳实践是什么 我不是说任何已经成为ZF一部分的组件。请描述您已集成的传统框架(如、或)。它也适用于任何GUI框架(可能您使用CSS框架),以及JS框架(不仅仅是or,而是一些高级结构) 主要要求:它必须是ZendFramework项目 描述性能优化的答案将获得额外奖励 更新 每一个像@BryanM的

我想让这个问题成为那些对与其他库/框架集成感兴趣的人的指南。在StackOverflow上搜索并不能给出关于这个主题的广泛观点

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

我不是说任何已经成为ZF一部分的组件。请描述您已集成的传统框架(如、或)。它也适用于任何GUI框架(可能您使用CSS框架),以及JS框架(不仅仅是or,而是一些高级结构)

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

描述性能优化的答案将获得额外奖励

更新


每一个像@BryanM的答案都会被考虑作为额外的赏金奖励。

我在我的Zend框架项目中使用了条令2。它易于使用,无缝贴合。整合it的基本步骤是:

  • 编写一个资源插件,使用
    application.ini
    中的配置选项初始化Doctrine 2 EntityManager。本杰明·埃伯莱的书就是一个例子
  • 我不是依赖全局注册表(
    Zend_registry
    )来存储EntityManager引用,而是依赖一个简单的依赖注入解决方案来向我的控制器提供实例
  • 我依靠Doctrine的事件系统来创建可重用的“行为”类,以完成诸如更新时间戳或验证数据之类的事情
  • 我将所有实体和业务对象保存在应用程序的“models”文件夹中(在它自己的名称空间下),其他所有内容保存在我的
    文件夹中。我大量使用PHP5.3名称空间来组织事情
  • 我使用Doctrine新的ish迁移库通过命令行处理对数据库的更新
  • 我还强烈建议创建详细的构建过程,以便处理库依赖关系、自动化单元测试和运行迁移,这些迁移可以集成到源代码管理或CI服务器中。如果您使用的是Javascript或CSS框架,那么它也适用于编译Javascript或CSS
这些实践不仅适用于条令,而且在您试图构建站点架构的任何时候都非常方便。我认为Zend在可扩展性方面的最大资产是资源插件和ActionHelpers/Controller插件。

还记得HTML清理,通常根据允许标记的白名单解析用户提供的标记,并生成符合标准的输出标记

它可以作为抵御XSS攻击的第一道防线。请注意,
Zend\u Filter\u StripTags
用于此目的

  • ZendX_JQuery(上有教程)

  • 虽然它是一个ruby应用程序,但我们使用它来部署php项目

  • 如果您的web应用程序必须进行大规模全文搜索,我会将sphinx与zend()结合使用

  • 如果您想使用像MongoDB这样的新NoSQL数据库,您可以将其用作高级php库。我刚刚将文件复制到“库”中,并告诉自动加载程序加载文件:autoloaderNamespaces[]=“Morph_”

  • 是一个很好的开发调试工具栏


+1对于RuckUsing的链接-从未听说过它基本上可以归结为(如果它是一个PHP应用程序)如果你可以实现引导过程,如果autoloader可以相互协作,那么有很多关于zend framework和条令集成的教程,不幸的是,我还没有找到适用于当前测试版的人。JS和CSS的问题可以通过使用PHP应用程序(imho)完全封装起来——在任何情况下+1都是一个有趣的问题@正如我在问题中所说的那样,问题并不在于如何集成不同的框架,而在于为应用程序选择什么框架。引导和编写自定义插件很好,只要它是可重用的,我充分利用了这一优势。但是拥有像意大利面条一样的架构很糟糕,所以我希望看到具有成熟功能(CI、DB迁移等)的真实世界应用程序的好例子?js/css框架?任何性能优化?Cron作业都可以用于需要Cron的事情。不特定于ZF应用程序。条令2依赖于在缓存中存储预编译的元数据,并自动生成代理类文件以进行延迟加载。本质上,不要在运行时做任何可以在运行前完成的事情。赏金是给你的,因为你已经给出了最有用的答案。