zend framework分析总结[转]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。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是经典的
zend framework分析总结[转]的更多相关文章
- Zend Framework 留言本实战(转)
一.环境搭建和ZF安装 *[注]本节内容大部分来至Zend Framework官方手册 1.1 Zend Framework下载 Zend Framework 使 ...
- Zend Framework MVC的结构
The Zend Framework MVC Architecture 一.概述: In this chapter, we will cover the following topics:1. Zen ...
- Zend Framework 1 - Quick Start
创建 Zend 项目 要创建 Zend 项目,首先要下载并解压 Zend Framework. 安装 Zend Framework 下载最新的 Zend Framework 1.12.20 源码包,( ...
- Ubuntu14.0下安装Zend Framework 2
Ubuntu14.0下安装Zend Framework 2为了安装这个东西,忙活了快一天了,参考中文博客一直没有安装成功,有些博客的时间也是已经很早了,后来google看英文版的才安装成功,这里记录一 ...
- 搭建PHP官方框架zend framework 2(LINUX)
在五花八门的语言里,PHP作为我第一个觉得欣赏的理由,就是它的简单和快捷,因为它封装了许多的常用函数.PHP作为网站中一种算作比较流行的语言,也产生各种优秀的框架.我所接触过的有zend framew ...
- 使用 Web Tracing Framework 分析富 JS 应用的性能
来自谷歌的 Web Tracing Framework 包含一组工具和脚本,用于 JavaScript 相关代码的性能分析.它是重 JavaScript 应用程序的理想选择,而 JavaScript ...
- 高性能Web框架Zend Framework
Zend Framework (ZF)是用 PHP 5.3及更高版本来开发 Web 程序和服务的开源框架.ZF用100% 面向对象编码实现. ZF的组件结构独一无二,每个组件几乎不依靠其他组件.这样的 ...
- Zend Framework 入门(4)—页面布局
Zend Framework 的页面布局模块——Zend_Layout——既可以跟 MVC 一起使用,也可以单独使用.本文只讨论与 MVC 一起使用的情况. 1. 布局脚本 在 application ...
- Zend Framework 入门(1)—快速上手
1. 安装 从 Zend Framework 的网页上下载最新版本.解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend. 打开 php.ini 文件,确认包含 Zend ...
随机推荐
- FFmpeg编译:jni not found 的问题
进入Android\Sdk\ndk-bundle\platforms\android-xx\arch-arm\usr目录查看发现与Google官方下载的NDK相比缺少include目录 此目录下包含各 ...
- [Windows Azure] How to Scale a SQL Database Solution
How to Scale a SQL Database Solution On Windows Azure, database scalability is synonymous with scale ...
- [DIOCP3/MyBean/QDAC开源项目] DataModule-DB例子基于MyBean的插件实例<三层数据库方案>
[说明] 这个例子答应大家很久了,一直没有时间弄,现在正式结合MyBean插件可以很方便的在客户端共享操作连接,执行数据库的各项工作,屏蔽了底层的通信解码器编码等工作,直接传递Variant,给了开发 ...
- 【Socket】linux无连接编程技术
1.mystery引入 1)无连接编程也称为UDP编程,是采用UDP报文的形式完成的网络通信 2)UDP是一种对等通信,本身不区分服务器端和客户端 3)对等通信,最容易想到的 ...
- 网络广告CPS/CPC/CPV/CPM/CPA分别是什么意思
CPA:注册广告(一般按用户来计算)CPC:点击广告(一般按一千个ip计算)CPS:消费广告(用户通过你的网站中投放的广告,达成消费,有提成)CPM:展示广告(展示广告,一般的视频比较多)CPV:按照 ...
- hdu3038(种类并查集,推荐)
题目大意:有n次询问,给出a到b区间的总和,问这n次给出的总和中有几次是和前面已近给出的是矛盾的?? 很有意思的一道题目,要是没有做过种类并查集,我肯定会以为这种题目是线段树题目...... 思路:我 ...
- tomcat8.5性能优化
主要是按照两篇文章,部分参数因适配Tomcat8.5进行了调整 一.有关 JAVA_OPTS http://www.open-open.com/lib/view/open1401931407228.h ...
- [转]自定义注释@interface的用法
一.什么是注释 说起注释,得先提一提什么是元数据(metadata).所谓元数据就是数据的数据.也就是说,元数据是描述数据的.就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义.而J ...
- 2. AutoEncoder在NLP中的应用
1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...
- PHP重载以及Laravel门面Facade
目录 重载的概念 魔术方法中的重载 属性重载 方法重载 Laravel中的Facade 扩展 谈谈__invoke Laravel提供了许多易用的Facade,让我们用起来特步顺手,那么这些Facad ...