zend framework分析总结[转]

时间:2022-08-19 16:55:57

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan

其实zend做的只是把一个超级牛的专业phper的全部知识打包成一个程序包,提供给大家使用.当然这个phper的习惯不一定符合你的需求,只拿需要的内容吧. 这些都看过之后,可以自己挑部分源码出来,搞个MyZ专用zend framework或者是马永占专用zend framework…或者专门做MVC的zend framework.

1 Zend_Acl Access control list 实现角色对资源的权限模型.只是个概念,我正在用的权限方式基本上跟acl差不多,acl在权限方面并没有什么创新的.而且需要去扩展acl要写更大量的代码.不如自己写.

2 Zend_Auth 验证,只负责验证,传说中有HTTP认证和支持openID.对我来说只是传说…验证就是去对比一下是或否,然后分别操作.

3 Zend_Cache 缓存.这个比较有用,最起码教给我们一种最简单的缓存方法,一对if else,有缓存,读缓存,没缓存读数据库存缓存.zend_cache有三大特色,也就是让你用zend_cache不用其他的缓存的三个优势.1标识缓存记录唯一性,省的自己做了.2生命周期,也省的自己做了.3条件执行…其实zend_cache最值得我们学习的是分开了前端和后端,这两个分别负责不同的事情,后端负责存储,前端负责参数等等.关于缓存,基本上是系统有,程序有,服务器有,连smarty都有…

4 Zend_Config 传说中的操作配置,这个配置的操作在PHP中已经有支持,做的也不错. Config中最好的是可以读xml格式…其实能读什么和xml的配置是什么格式都是zend规定的.我看了他们最常用的DB的配置.那种结构不是普通的配置文件.更多的层次.更多的规则.也许会更清晰吧.

5 Zend_Console_Getopt 帮助命令行程序解析它们的选项和参数.这句是抄来了.确实和现实的开发没什么关系,有人用过吗?听说可以把这句(rm * -fr)解释出来,但是解释出来后干什么???解释它做什么???

6 Zend_Controller 这个是最关键部分之一,zend最核心内容之一,最让PHPER感到zend可用的部分之一,跨时代的php产物之一.内容太多了.需要注意:MaYongZhanController::blogMmmYyyAction()在URL中是这样的ma-yong-zhan/blog-mmm-yyy ,或者中间是用 . 分隔开.所以建议还是写成这样:MayongzhanController::blogmmmyyyAction().当然还有很多很多很多的地方需要注意.zend的规范实在是多了些.

7 Zend_Currency 这个是处理钱的问题的,就是根据不同的地区,使用不同的货币格式.$1000 or ¥1000.

8 Zend_Date 典型的西方式的日期解决方案,就是关于日期型数据的操作.

9 Zend_DB 大多数项目所必须的,既然结合了zend来开发项目,就要看一看zend_db提供的类到底比我们的好在哪里.Zend_DB使用的是pdo,所以一定要打开这个扩展…费话. 仅次于Controller的zend第二大被经常使用的类. 包括各种数据库的操作封装,连select都有专门的使用方法.再也不用写完整的sql语句了?不好吧.反正我用到的只是其中一少部分.包括连接.查询.特别的插入,更新,删除操作.

10 Zend_Debug 这个用于调试,简单的调试.相当于echo $some;当然它会输出更详细的信息.

11 Zend_Exception 异常处理,Zend使用过程中的异常.有兴趣拿DB测试一下,自己抛着玩.

12 Zend_Feed Web应用吧,可以试一下我的Feed: http://Blog.csdn.net/mayongzhan/rss.aspx Feed中最需要看的就是rss和atom,感觉atom更现代一点,最少是看上去比rss更好一些.

13 Zend_Filter 各种乱七八糟的过滤.需要的时候去查一下,也许你会发现php的函数使用起来会比这个东西方便.只是也许.

14 Zend_Form 这个东西似乎是为标准程序员准备的,所谓标准程序员就是一点也不考虑界面,当然标准程序员一定不是一个好的web程序员.没有web程序员不懂html的.呵呵.这个意义对我来说不大,对其他人我就不知道了.用来生成一个html表单.

15 Zend_Gdata Gdata是Google Data的缩写,当然也就是google的东西,但是不包括著名的gmail,search,map.这个只是google data API.对google的API感兴趣的可以研究一下.俺不是GOOGLE迷…也不是baidu迷.

16 Zend_Http 这部分是我目前主要研究php的方向.当然zend做了很多有意义的事情.zend_http很像php的curl,感觉没有curl强大,不过curl的操作有点不透明,使用起来感觉对了都不知道怎么对的.这个东西还需要改进啊.比如可以在这个东西的基础上开发一个检测http的类.呵呵.我比较喜欢.

17 Zend_InfoCard 传说中的个人身份认证信息.只是传说中的,应用很少的.

18 Zend_Json JavaScript Object Notation,这个东西负责对json的操作,其实就是编码解码…对json感兴趣的研究一下.我是没什么兴趣…

19 Zend_Layout 一个和view有关的,实现了二级视图的东西.这个我更习惯于使用zend controller或者shtml来解决.方法不同.

20 Zend_Loader 动态加载,当然是和静态的include做对比.可以根据需要加载.当然这是一个模糊的概念,不过确实省去了不少的工作.很不错的代码.效率?呵呵.

21 Zend_Locale 国际化?本地化?就当成是国际化的东西吧.谁想知道马永占翻译成意大利语是什么?反正我是用不到.

22 Zend_Log 通用的log记录.很像操作系统内的log也很像apache里的log.有点像我写的log…Zend_log里面最好的两个概念:1分级error级notice级等等,zend分了8级,2保存log,zend可以把log放到输出,数据库,文件当中.当然我们最常用的就是输出到文件.zend_log给了我不少的启发.用于改进我的MyZ_log.很有用的东西.

23 Zend_Mail 目前我在用的是一个php写的smtpMail类…当然zend也是php写的…如果你正好要用mail,或者觉得原来的mail函数不够好的话,建议看看zend_mail.

24 Zend_Measure 用于转换,最简单的例子是把英尺转成公尺.对于我们这样的小庙…用不上啊…

25 Zend_Memory 内存管理,恩.这个来头不小.程序级的内存管理.不了解…底层程序员也许会关心这个程序级的内存管理吧.

26 Zend_Mime 多用于mail函数的mime,当然也可以自己使用.

27 Zend_OpenID OpenID啊.很火的东西,目的是整合世界上所有的帐号,不过现实的情况是每个厂商也不愿意被整合.都想着怎么整合别人.所以这个东西发展的不是很好.

28 Zend_Pdf Pdf一种文件格式,是adobe的,就是电子书最经常用的格式.zend被宣传说支持pdf操作,我想这东西有必要宣传吗?难道是zend的主要功能?太小题大做了吧.

29 Zend_Registry 将一个东西(变量,数组,类…)注册到全局应用当中,就是write once use anywhere ,当然这个anywhere是指你的整个项目.开销是不是大了些?但是如果你经常用的话,这样做会很有帮助.免去了每次使用都要new class.

30 Zend_Rest 这个来头也不小.zend里面到处都是经典的程序.rest类似于xmlrpc和soap,是一种目前最新的web service,使用似乎没有xmlrpc多.也没有soap多.传说中我还有一份rest之父的论文…传说中的zend

31 Zend_Search_Lucence 基于文本的搜索引擎,当然是改编于那个Lucence,现在开始怀疑,zend是不是象称霸php.怎么什么都写…没试过.

32 Zend_Server 为其他zend的类提供支持.是一个基础类.当然也可以自己拿出来用.也许你能开发出来比rest更优秀的web service靠这个东西…

33 Zend_Service 网络上的除了google的各种服务,为啥要把google单拿出来呢?不好实现?还是google太强大了…这些我是一个也没用过…会用到的.当初在csdn看到一个牛人用delicious在自己的csdn博客上加上了相关文章…(我多次请求csdn,加上相关文章,结果石沉大海…这老兄真的很猛.csdn给不了我们的.我们自己做.没有枪没有炮,我们自己造.)

34 Zend_Session 这个是个好东西,提供存储session和提供session的API,当然这个是为了跨域名,跨服务器准备的.当然也能代替传统的session_start()…如果你想这么做的话…

35 Zend_Translate 解决了语言问题...最另我高兴的是看到了zend使用.mo文件.这个mo文件是在drupal里的语言包.zend做的不错.

36 Zend_Uri 验证url的类,这个也是基础,是被其他zend成员调用的.也能自己用.

37 Zend_Validate 校验器,前面有个filter是过滤的.这个是验证的.本质都是一样的.是判断是否符合规则,然后validate是返回对错.filter是直接把不符合的地方去掉.当然我们大家一定都有自己的过滤和校验器.好好的参考一下zend ,然后进行修改吧.

38 Zend_Version 这个是zend里源码最好读的一部分…是最简单的.建议无论是否想学习zend都去看一下…这样在和被人吹牛的时候就能这么说:zend啊.前几年我看过它的源码,写的不错…

39 Zend_View Zend MVC当中一员.也能算上是五虎上将之一.不过在我这却没有被使用…我使用了smarty作为替换…感觉有点对不住zend,zend这么多东西,我只用了几个…哎…不过zend_view的helper很不错.可以替代手写,生成各种需要在view层显示的代码.

40 Zend_XmlRpc Web service,xmlrpc是最简单的一种.当然zend的这的类也是完成80/20使命.我想用的人很少吧.

Zend也挺符合2/8理论的,20%的程序被经常使用.剩下的用的很少.但是作为一个完整的framework,zend是经典的