分类目录归档:资源共享

国外最流行的十款PHP开发框架横向比较

PHP开发框架近来在PHP社区中成为讨论的热点,几乎每天都在推出新的框架。面对市面上超过四十种的开发框架,你很难判断究竟哪一款最适合你,尤其是在这些框架所提供的功能不尽相同的时候。

本文将引导你遍览十款最热门最流行的开发框架,并对它们作出横向比对。我会先列出一张所有框架的一览表,而后我们将对它们逐个简述。
概览

以下你看到是这十款开发框架的一览表,列举了他们各自所提供的功能。

 

PHP框架比较

#1: 表示框架是否内建模型-视图-控制器。
#2: 表示框架是否无需修改即可支持多数据库。
#3: 表示框架是否支持对象记录映射器,通常这是ActiveRecord的封装包。
#4: 表示框架是否包含其它数据库对象,比如TableGateWay。
#5: 表示框架是否内建模板引擎。
#6: 表示框架是否缓存对象或者其他缓存机制。
#7: 表示框架是否内建校验或过滤组件。
#8: 表示框架是否内建Ajax支持。
#9: 表示框架是否内建用户验证模块。
#10: 表示框架是否包含其他模块,例如RSS feed解析器、PDF模块或其他实用模块。

如果上表所列有不当之处,敬请斧正。

Zend Framework

Zend Framework还相当新,尚处在beta阶段(译者注: 相对于作者写这篇文章之时),因此还有些功能有待完整(比方说用户验证模块),但它本身已经有不少功能了。尽管从对比表上来看它没占到什么便宜,可Zend Framework确确实实涵括了一些处理PDF文档、RSS源、在线服务(Amazon, Flickr, Yahoo)的模块,甚至更多。Zend Framework同时也包含了数个不同的数据库对象,极大地便捷了对数据库进行查询的实现,甚至免去你手写SQL查询脚本的麻烦。

当前,Zend Framework并未完全支持ORM,但是开发人员仍然陷入在是否要添加ORM层的争论中。也许在将来会实现这些功能,你就可以编写自己的ORM封装包,投稿到社区,并有机会将之整合入框架的未来版本。

Zend Framework看上去前途一片光明,而且它同时又修正了一些常见的PHP问题。也许稳定版本就可以在对比表里面表现得更出色了!

CakePHP

CakePHP是一款高级的MVC框架,自带了不多的几个模块。它可以处理大多数的数据库事务,支持Ajax个数据验证。同时,它的用户验证模块(Accsee List)也非常独特,可以针对不同的用户在访问网站不同部分时分配对应的访问权限。

尽管CakePHP的网站看上去令人犯晕,但是框架本身已经比较完整可用了。截至成文尚未见稳定版本,实在令人感到有点意外,毕竟已经开发了好几个月了,不过我猜想也许用beta版本来开发产品也未尝不可吧(译者注: Risk you @ss baby!)。

Symfony Project

从对比表中不难看出,Symfony是一款极具扩展性的开发框架,它甚至完整植入了一个叫做Propel的ORM,Propel也是开源项目,并且迄今为止可能是PHP上最好的ORM解决方案。Symfony同时还整合了用于数据库抽象层的Creole和用于MVC模型层的Mojavi。由于它仅仅是重用了这些项目的源代码,而非重写,由此使得框架具备了极为强大的扩展性,这一点在表中昭然若是。

Symfony有两个缺憾,以使它不支持PHP4,这是由于需要PHP5中很多新特性的支持的结果,二是相对来说它有点复杂了。大多数任务,比方像分页,在Symfony中的时限比其他框架要复杂得多,这决不是一款简洁著称的框架。

Seagull Framework

Seagull framework看上去相当不错,自带了很多特性。支持PHP4也对它的推广相当有利,我本人就仍在使用PHP4,况且大多数空间寄存商尚未全面支持PHP5。

不幸的是,Seagull没有提供对Ajax的支持,实在有点说不过去,不过通过Google可以毫不费力地搜索到一篇自己添加Ajax支持的教程,而且这点在将来应该会添加到框架中。

WACT – Web Application Toolkit

WACT很有潜力,框架的基件它一应俱全,像MVC、数据库对象和模板引擎,不过仅此而已。它没有任何外挂模块,同时也缺少一些内建的功能,例如Ajax、缓存、验证模块,等等。

尽管如此,WACT还是拥有最好的模板引擎,甚至可以帮助你创建自己的模板标签来扩展功能。

Prado

Prado非常独特,它提供了一些很酷的特性。它没有内建对MVC的支持(就我看来),但是它确实拥有处理大多数PHP任务的各种各样的组件,更棒的是,它实现了事件驱动脚本。例如,在一个HTML按钮上设置onClick事件链接到一个PHP函数。这点近似ASP.NET,而Prado确实包含了更多的ASP.NET组件,像GridView和Repeater Control。

仅凭对比表上的数据,Prado看似要弱于其它框架,但事实并非如此。因为Prado如此独特,尽管它得分不高,但是在实际应用中它是非常强大的。

PHP on Trax

这个框架看上其简直就是Ruby and Rails在PHP上的一个接口,它以前也确实叫做PHP on Rails。不幸的是,它的文档实在是太稀缺了,所以也很难判断这个框架究竟提供了些什么,但是文档中的确提到了ActiveRecord,所以它可能提供ActiveRecord,就像RoR。还有就是它内建了Ajax支持,从它网站上的两个演示视频中不难看出。

PHP on Trax基本上能符合使用者对框架的要求,但是它还是缺胳膊少腿,比方像验证模块和缓存模块。它也没有任何外挂模块,是以目前来说,它很初级。

ZooP Framework

ZooP Framework可以说包罗万象,对比表上一目了然,差不多该支持的都支持了,除了ORM层。更意外惊喜的是它支持PHP4,这对于它提供的这么全面的功能来说实在是太不简单了,太棒了!

ZooP还提供了内建的GUI控制,使得创建表单的工作变得异常快捷。它支持绝大多数的常用表单元素,在常规HTML里使用GUI控制的好处就是你可以将验证的逻辑操作和GUI控制紧密地结合在一起。

eZ Components

与其说ez Components是个框架,不如说是一个组件集,可能正是因为如此它并没有内建对MVC的支持。

它包括了大多数常用组件,如数据库组件和缓存组件,可还是缺少点东西。比方说,没有ActiveRecord组件和验证组件。另一方面,它提供了一些外挂组件,比如e-mail组件,但是不多,其它框架(像Zend Framework)提供的更多。

CodeIgniter

CodeIgniter相对来讲是个很新的框架,它的作者是ExpressionEngine的开发团队(译者注: PHP blog程序pMachine的升级换代产品,很可惜不是免费的),看上去很有潜质。不幸的是,它尚不能处理多数据库,尽管这项功能仍在开发中。

它源于Ruby on Rails,所以它提供了很多的相同功能,比如scaffolding(代码自动生成)。它的文档编得相当棒,甚至还有视频教程帮助你快速上手。

获胜者是……

在这里我不得不非常遗憾地宣布,无人胜出。每个框架所提供的功能特性不尽相同,因此无人完胜。一如往常,最后这将取决于个人偏好和选择。我极力推荐你在作出决定前先认真仔细地研读各个框架的文档,剩下就靠你自己判断了。
原文地址: http://www.chhua.com/web-note559

10个强大的开源 Web 流量分析工具

Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足。本文收集并介绍了10个功能强大的开源 Web 流量分析工具,因为是开源的,因此可以免费部署到你的网站。

1.TraceWatch

TraceWatch 是一个开源 Web 流量分析程序,支持实时分析,可以提供深度分析报告。

2.SlimStat

基于 PHP-MySQL,同时,可以像 Google Analytics 那样,通过 JavaScript 或 PHP 脚本集成到网站。

3.Piwik


可以生成站点的详细的实时访问报告,基于 PHP 和 MySQL,也可以像 Google Analytics 那样在前端集成。

4.Open Web Analytics

基于 PHP,内置对 WordPress,Gallery 以及 MediaWiki 的支持。

5.W3Perl

W3Perl 是一个 Web Log 分析工具。

6.CrawlTrack

CrawTrack 是一个很好的 Google Analytics 的开源替用品,提供非常独特的报告,比如,CrawTrack 可以帮你预防诸如 SQL 注射一类的攻击。

7.BBClone

BBClone 是一个 Web 计数器,可以提供很详细的访问报告。基于 PHP。

8.PhpMyVisites


基于 GNU/GPL 开源协议,可以提供很详细的,有关访问者信息的报告,它的 GUI 界面很有趣而且实用,安装也很简单。

9.AWStats

可以提供非常强大的,关于网站,FTP 站点,乃至 Email 服务器的访问分析报告,基于 CGI。

10.Grape

Grape 的界面比较简单,功能虽然不多,但很实用。

Firefox必备的24款Web开发插件

俗话说,“工欲善其事,必先利其器”。对于前端开发工程师来说,基于Firefox丰富的Web开发辅助插件无疑就是最好的利器。下面就与大家分享24款武装Firefox的Web开发插件。

开发工具

1. Web Developer 1.1.8

https://addons.mozilla.org/en-US/firefox/addon/60
以工具栏的形式对网页的(X)HTML、脚本、多媒体、CSS、缓存、图象等多方面的实用工具。使我们能轻易的获得网页的更多信息,使我们进一步的了解当 前所浏览的网页。
说明:超强的web分析工具,开发人员必装。

2. Firebug 1.5.0

https://addons.mozilla.org/en-US/firefox/addon/1843
Firebug是firefox下的一个插件,能够调试所有网站语言,如Html,Css等,但FireBug最吸引我的就是javascript调试功能,使用起来非常方便,而且在各种浏览器下都能使用(IE,Firefox,Opera, Safari),简直难以置信。除此之外,其他功能还很强大。比如html,css,dom的察看与调试,网站整体分析等等。总之就是一整套完整而强大的 WEB开发工具。
说明:查看,编辑,Debug页面的CSS,HTML,JavaScript。超强的开发调试的工具,开发人员必装。

3. LinrLightWeb 0.2.1

https://addons.mozilla.org/zh-CN/firefox/addon/14068
安装前,请确认您已安装Firebug插件,获取Firebug请访问:http://getfirebug.com/
1. 开启网页编辑模式,随意编辑网页——Fiddler的好搭档;
2. 超强Selector,查找操作标记;
3. 刷新CSS,无需刷新整页;
4. 快速设置CSS Sprites背景,鼠标拖移即可得到位置;
5. 保持登录状态,Session不过期;禁用
6. 同步发行IE版,Chrome版。
说明:非常强的web开发工具。

更多基于firebug的插件可以参考这篇文章:用来武装Firebug的十三款Firefox插件

4. View Source Char 2.7

https://addons.mozilla.org/en-US/firefox/addon/655
画一个 Color-Coded 的图表的 Web 页的源代码。
说明:显示非常好看的源码, 分级缩进, 不同颜色区分。

5. Tamper Data 11.0.0

https://addons.mozilla.org/en-US/firefox/addon/966
Tamper Data 的真实含义,即“篡改数据”(或者说定制 HTTP 请求):截取浏览器发出的每一个 HTTP 请求,提示我们选择是要进行定制,还是不做定制而直接提交请求,还是终止当前被截取的请求,然后根据我们的选择决定是打开定制窗口,还是直接向 WEB 服务器提交请 求,还是终止当前的请求。
说明:查看 firefox 收发请求的 header, 特别是在发出请求前, 可以修改 header。

6. JavaScript Debuger 0.9.87.4

https://addons.mozilla.org/en-US/firefox/addon/216
Venkman 作为Mozilla的调试器,是针对Mozilla(Firefox)的自由工具
说明:firefox 环境下的 JavaScript Debugger, 强大的脚本调试工具。

7. Live Http Headers 0.15

https://addons.mozilla.org/en-US/firefox/addon/3829
可以用来实时监测发起的http请求和响应,也可以修改请求参数之后重新发起请求。
说明:浏览页面同时记录所有 HTTP headers 。

8. Add N Edit Cookies 0.2.1.3

https://addons.mozilla.org/en-US/firefox/addon/573

查看和修改本地的Cookie,Cookie欺骗必备。
说明:查看并且修改 cookies, 不方便的地方是显示所有浏览器的 cookies 而不仅是当前页。

9. XPath Checker 0.4.1

https://addons.mozilla.org/en-US/firefox/addon/1095
这个工具没什么好多说的,就是安装后可以直接用,在网上看了使用方法,开始没看明白,后来才知道是在页面上点鼠标右键,下面有个view xpath,点击就可以了。
说明:据说可以调试 XPath。

10. YSlow 2.0.6

https://addons.mozilla.org/zh-cn/firefox/addon/5369
YSlow分析网页,并提出如何提高其性能的基础上一套规则,高性能的网页。
说明:能够帮我们分析web页面比较慢的原因,它是基于 Firebug的,也能分开浏览web页面的元素,比如js,css.

HTML验证

11. HTML Validator(based on CSE HTML Validator)1.2.3

https://addons.mozilla.org/en-US/firefox/addon/887
HTML Validator是一个Firefox扩展,它能查找并标志出HTML页面上的错误。HTML Validator以Tidy为基础,Tidy最初是W3C为验证HTML代码开发的一个工具。
说明:著名的 CSE HTML Validator 引擎。

12. Relaxed the HTML Validator 0.9.5

https://addons.mozilla.org/en-US/firefox/addon/3939
Relaxed the HTML Validator 0.9.5 这是一个做html验证的小插件,可以很容易的检测出页面的错误的html代码。
说明:直接在当前页面上进行 HTML validation, 界面清晰直观。

13. Total Validator 6.2.0

https://addons.mozilla.org/en-US/firefox/addon/2318
这软件帮 助你检查你的网页是否符合标准,结果将帮助你迅速地解决问题。
说明:把当前页面在 http://www.totalvalidator.com 做HTML Validation,输出结果用红字进行了语法修正, 比较友好。不过由于通过其他网站验证, 速度有点慢, 并且结果不易保存。

页面设计

14. MeasureIt 0.3.92

https://addons.mozilla.org/en-US/firefox/addon/539
通过可以绘制在页面任何地方的刻度尺来显示以像素(px)计算的宽度、高度、元素缩进量。
说明:可以测量页面上任何选择区域的长宽, 对界面设计人员非常有帮助。

15. ColorZilla 2.0.2

https://addons.mozilla.org/en-US/firefox/addon/271
利用ColorZilla 您可以从浏览器中的任一点读取色彩值,快速调节颜色并粘贴到其他应用程序。您可以缩放正在查看的页面或测量页面任意两点之间的距离。
说明:从 页面, 或者调色板上取色, 同时可以缩放页面。

SEO广告

16. RankQuest SEO Toolbar 3.9.2

https://addons.mozilla.org/en-US/firefox/addon/1471
检查网站在搜索引擎和alexa的状态
说明:SEO 工具插件, 访问一个页面时, 显示此页面的各种排名及 SEO 信息。

17. Adsense Preview 1.5

https://addons.mozilla.org/en-US/firefox/addon/2132
将谷歌广告放到你的网页上
说明:在当前页面上显示 Google ADs 帮助确定广告位置。

其他工具

18. HackBar 1.4.2

https://addons.mozilla.org/en-US/firefox/addon/3899
包含一些常用的工具。(SQL injection,XSS,加密等)
说明:快速对字符串进行各种编码的工具, MD5, Base64, URLencode, URLDecode。

19. Document Map 0.6.1

https://addons.mozilla.org/en-US/firefox/addon/475
显示当前页的标题结构中侧栏让之间快速导航…
说明:提供页面资源结构信息.。

20. IE View Lite 1.3.5

https://addons.mozilla.org/en-US/firefox/addon/1429
IE View 简装版,将选项集成到了右键关联菜单中,同时增加了一个工具栏按钮。
说明:点右键可以选择在 IE 中打开页面, 有助于跨浏览器调试。

21. TimeStamp Converter 2.0.0

https://addons.mozilla.org/en-US/firefox/addon/2063
将转换日期和 timestamps.Context 菜单选项将所选的时间戳转换为日期。
说明:除去从上下文中转换, 还可以手动将 timestamp 时间戳与 date/time 转换。

22. TimestampDecode 0.1.8

https://addons.mozilla.org/en-US/firefox/addon/3208
将所选的编号视为一个时间戳并显示一个已解码的日期/时间。
说明:将选中的数字作为 timestamp 时间戳转换为 date/time。

23. Fire Encrypter 4.0

https://addons.mozilla.org/en-US/firefox/addon/2063
说明:将文字加密成各种算法的密文, 甚至包括摩尔斯码。

24. Add-in-one Sidebar

https://addons.mozilla.org/en-US/firefox/addon/1027
全方位多功能侧边栏。
说明:在浏览器左侧增加打开书签, 历史, 插件等的工具条。

本文来自:http://www.cnblogs.com/psunny/archive/2010/02/04/1663481.html