zend framework 2 介绍

2014年02月17日

zend framework介绍

zend framework 2是PHP的开发公司Zend公司支持开发的PHP框架。2007年7月1日发布了1.0版本,时隔五年,于2012年9月5日发布了2.0版本。相对于1.x版本,zend framework 2产生了许多重大的变化。

zf1相对于cakephp,codeiginiter等快速开发框架来说在亚洲好像不怎么人气,因为它设计的功能强大,门槛高,学习成本也就高。但在欧美还是很有市场的,在一些开发者自由市场(freelance等)搜索php的工作的话,zf比cakephp,codeigniter要多很多。

zf2的学习成本照样很高,但它的设计理念很值得学习,可以说代表了当今web设计的最新理念,像依赖注入Dependency Injection,事件驱动Event Manager,服务管理Service Manager等都是非常好的设计理念。

zf2有以下特点

  • 基于MVC模式将业务逻辑与数据处理以及显示层分离出来。
  • 基于BSD许可免费开源。
  • PHP要求5.3以上版本。
  • 采用命名空间,相对于zf1下划线命名,让代码简介了很多。
  • 基于模块化设计(Module Manger),大大提高了代码的可重用性,也让zf2的爱好者可以共享模块。
  • 事件驱动,传统程序中,代码都是按线性顺序执行的,所以开发中往往很难将一些功能独立为一个组件或模块。
    事件驱动,或者也可以叫钩子(Hook),改变了普通框架MVC流程化的运行方式,应用了事件驱动之后,程序将呈现“注册事件” => “触发事件”的跳跃式运行,可以在不影响原有程序代码的,很容易的在任意位置加入新的业务逻辑,让项目的开发变得极为灵活
  • 服务管理器:这种思想提倡将程序中的每一个独立功能提取出来作为一个“服务”,每一个服务都是独立可唤醒的,只有服务被调用时,服务相关的程序才会启动。
  • 依赖注入(Di Dependency Injection):java的各种框架中很常见的技术。

zend framework 2与cakephp等的抉择

个人认为,只要彻底掌握了,选择就不是很重要了,但要彻底掌握,确实不是一件简单的事情,因为项目开发不仅仅是使用开发语言,我们还需要掌握设计,缓存,数据库,服务器等各种技术。

如果是承接项目的话而项目有不是很庞大的话可以考虑cakephp,因为它快,可以省掉我们很多开发时间,保证质量还可以获得利润。如果是开发产品的话建议使用zf2,用cakephp的话,在项目进行到中后期的话会发现很多地方不好扩展.