一.概述
Zend Framework是PHP官方提供的框架,Zend Framework是基于简单,面向对象的最佳实践,Zend Framework安全,可靠,是最常用的PHP框架之一。
Zend Framework不仅使用了最常用的设计模式,拥有强大丰富的API库,也可以开发使用第三方插件库。
有很多基于Zend Framework的项目非常受欢迎,使用率也非常的高。例如TomatoCms,Magento CMS等等
二.设计模式
Zend Framework用到的设计模式有如下:
1.MVC
2.工厂模式
3.注册者模式
4.单例设计模式
5.Iterator 迭代子模式
6.建造者模式
(大概的中文名字是这样,具体的可以参考相关设计模式的文章。)
三.Zend flow
四.MVC flow
通过仔细阅读上图可以了解基本流程,后续需要时在分析具体代码。
五.Zend Framework Commpents
通过上图可以了解Zend Framework提供的组件是非常丰富的。
具体官方的描述如下:
Zend Framework Components
Model-View-Controller (MVC)
- Zend_Application, Zend_Application_Bootstrap, Zend_Application_Module, Zend_Application_Resource
- Zend_Controller_Front, Zend_Controller_Action, Zend_Controller_Dispatcher, Zend_Controller_Plugin, Zend_Controller_Router
- Zend_Form
- Zend_Layout, Zend_View, Zend_View_Filter, Zend_View_Helper
上述组件使用业界标准的Web应用程序设计模式MVC,允许开发人员和Web设计师实现他们的关注点和功能的分离,使代码执行和设计更容易。.
Tooling and Rapid Application Development (RAD)
- Zend_CodeGenerator
- Zend_Reflection
- Zend_Tool_Framework, Zend_Tool_Project
在任何项目中最乏味的任务之一是应用程序环境的搭建和初始化应用程序结构。 Zend_Tool提供的工具支持用一个命令行客户端生成您的项目结构,MVC的的相关部件。
Database
- Zend_Db, Zend_Db_Adapter, Zend_Db_Profiler, Zend_Db_Select, Zend_Db_Table
使用了标准数据库编程的最佳实践,通过数据适配器抽象掉数据库的具体操作细节,这样你就可以在你建立应用程序时注重业务模型设计而不必考虑具体的数据库操作。
Internationalization (i18n) and Localization (l10n)
- Zend_Currency
- Zend_Date
- Zend_Locale
- Zend_Measure
- Zend_Translate
提供国际化(i18n)支持。
Authentication, Authorization, and Session management
- Zend_Acl
- Zend_Auth
- Zend_Session
提供用户访问控制,权限认证功能的支持
Web and Web Services
- Consuming services: Zend_Feed, Zend_Gdata, Zend_Http_Client, Zend_Rest_Client, Zend_Service, Zend_XmlRpc_Client
- Exposing services: Zend_Amf_Server, Zend_Json_Server, Zend_Server_Definition, Zend_Server_Reflection, Zend_Rest_Server, Zend_Soap_Server, Zend_XmlRpc_Server
提供第三方web services api的支持
Mail, Formats, and Search
- Zend_Json
- Zend_Mail, Zend_Mime
- Zend_Pdf
- Zend_Search_Lucene
提供 Ajax, PDF , e-mail , search,方面的支持
Core Infrastructure
- Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Debug, Zend_Filter, Zend_Loader, Zend_Loader_Autoloader, Zend_Log, Zend_Memory Zend_Registry, Zend_Validate, Zend_Version
Zend Framework囊括了开发web应用程序的所有组件,并且简化的部分操作,让你可以更快的构建web应用程序,并且设计出的代码更标准,通用易于阅读。