PHP开发框架一览表:表示框架是否内建Ajax支持
2021-02-02
PHP开发框架最近已成为PHP社区中讨论的热门话题,并且几乎每天都有新的框架发布。面对市场上四十多个开发框架,很难判断哪一个最适合您,尤其是当这些框架提供的功能不同时。
概述
在下面,您将看到这十个开发框架的列表,列出了它们提供的功能。
#1:指示框架是否具有内置的model-view-controller。
#2:指示框架是否可以不经修改就支持多个数据库。
#3:指示框架是否支持对象记录映射器,通常这是一个ActiveRecord包。
#4:指示框架是否包含其他数据库对象,例如TableGateWay。
#5:指示框架是否具有内置的模板引擎。
#6:指示框架是否缓存对象或其他缓存机制。
#7:指示框架是否具有内置的验证或过滤组件。
#8:指示框架是否具有内置的Ajax支持。
#9:指示框架是否具有内置的用户身份验证模块。
#10:指示框架是否包含其他模块,例如RSS feed解析器,PDF模块或其他有用的模块。
Zend框架
Zend Framework尽管没有利用比较表,但Zend Framework确实包括一些用于处理PDF文档,RSS feed,在线服务(Amazon,Flickr,Yahoo)等等的模块。 Zend Framework还包含几个不同的数据库对象,这极大地简化了数据库查询的实现,甚至免除了手写SQL查询脚本的麻烦。
当前,Zend Framework尚未完全支持ORM,但是开发人员仍在是否是否添加ORM层的争论中陷入困境。也许这些功能将在将来实现,您可以编写自己的ORM软件包,为社区做出贡献,并有机会将其集成到框架的未来版本中。
Zend Framework看起来很有前途,并且还解决了一些常见的PHP问题。也许稳定版可以在比较表中表现更好!
CakePHP
CakePHP是一个高级MVC框架,带有一些模块。它可以处理大多数数据库事务,并支持Ajax数据验证。同时,其用户身份验证模块(访问列表)也非常独特,可以在访问网站的不同部分时为不同的用户分配相应的访问权限。
尽管CakePHP的网站看起来令人困惑,但框架本身相对完整且可用。截至撰写本文时,尚无稳定版本,这确实令人惊讶。毕竟,它已经开发了几个月,但我想使用Beta版开发产品可能还可以。
Symfony项目
从比较表中不难看出Symfony是一个非常可扩展的开发框架。它甚至具有称为Propel的完全嵌入式ORM。 Propel也是一个开源项目,到目前为止可能是PHP上最好的项目。 ORM解决方案。 Symfony还为数据库抽象层集成了Creole,为MVC模型层集成了Mojavi。因为它只重用这些项目的源代码,而不是重写它们,所以它使框架具有非常强大的可扩展性,这在表中显而易见。
Symfony有两个缺点,因此它不支持PHP4。这是由于需要支持PHP5中的许多新功能。其次,它相对复杂。大多数任务(例如分页)在Symfony中都有一个时间限制,该时间限制比其他框架要复杂得多。这绝不是以其简单性而闻名的框架。
海鸥框架
Seagull框架看起来不错,具有许多功能。支持PHP4对其推广也非常有利。我仍在使用PHP4,并且大多数托管服务提供商尚未完全支持PHP5。
不幸的是php框架比较php框架比较,Seagull不提供对Ajax的支持,这确实是不合理的,但是通过Google,您可以轻松地搜索有关自己添加Ajax支持的教程,将来应将其添加到框架中。
WACT-Web应用程序工具包
WACT具有巨大的潜力。该框架的基本组件很容易获得,例如MVC,数据库对象和模板引擎,但仅此而已。它没有任何外部模块,也缺少一些内置功能,例如Ajax,缓存,验证模块等。
尽管如此,WACT仍然拥有最好的模板引擎,甚至可以帮助您创建自己的模板标签以扩展功能。
普拉多
Prado非常独特,它提供了一些很酷的功能。它没有对MVC的内置支持(以我的观点),但是它确实具有处理大多数PHP任务的各种组件,甚至更好的是,它实现了事件驱动的脚本。例如,在HTML按钮上设置onClick事件以链接到PHP函数。这类似于ASP.NET,并且Prado确实包含更多的ASP.NET组件,例如GridView和Repeater Control。
仅根据比较表中的数据,Prado似乎比其他框架要弱,但事实并非如此。因为Prado非常独特,所以尽管得分很低,但在实际应用中却非常强大。
Trax上的PHP
这个框架似乎是Ruby和Rails在PHP上的接口。之前它实际上被称为PHP on Rails。不幸的是,它的文档太少了,因此很难确定该框架到底提供了什么,但是文档中确实提到了ActiveRecord,因此它可能像RoR一样提供ActiveRecord。此外,它还具有内置的Ajax支持,从其网站上的两个演示视频中不难看出。
Trax上的PHP基本上可以满足用户对该框架的要求,但是它仍然缺少诸如验证模块和缓存模块之类的东西。它也没有任何外部模块,所以目前,它是非常基本的。
ZooP框架
ZooP Framework可以说是无所不包的。从比较表中可以明显看出,除了ORM层之外,几乎所有应支持的东西都受支持。更令人惊讶的是它支持PHP4,对于它提供的全面功能来说太简单了,太好了!
ZooP还提供了内置的GUI控件,使创建表单的工作变得非常快。它支持最常见的表单元素。在常规HTML中使用GUI控件的优点是可以将验证的逻辑操作与GUI控件紧密结合。
eZ组件
Ez Components与其说是框架,不如说是一组组件,也许是因为它没有对MVC的内置支持。
它包括大多数常见组件,例如数据库组件和缓存组件,但是仍然缺少某些组件。例如,没有ActiveRecord组件和验证组件。另一方面,它提供了一些外部组件,例如电子邮件组件,但是其他框架(例如Zend Framework)却没有提供更多的外部组件。
CodeIgniter
CodeIgniter是一个相对较新的框架。它的作者是ExpressionEngine的开发团队(译者注:不幸的是,PHP博客程序pMachine的升级产品,它不是免费的),它看起来很有希望。不幸的是,尽管此功能仍在开发中,它尚不能处理多个数据库。
它是从Ruby on Rails派生的,因此它提供了许多相同的功能,例如脚手架(自动代码生成)。它的文档非常好,甚至还有视频教程可以帮助您快速入门。
我必须非常遗憾地宣布没有人获胜。每个框架提供不同的功能,因此没有人能赢。与往常一样,最终这将取决于个人偏好和选择。我强烈建议您在做出决定之前,仔细研究每个框架的文档,然后根据自己的判断来做出决定。
我个人非常喜欢Zend Framework,但是在仔细研究了每个框架之后,我发现了很多有趣的功能,例如Prado事件或Symfony ORM包。
当您真的无法决定选择哪种框架时,您仍然可以像大多数人一样选择:自己动手做。尽管它既费时又费力,但却很有趣。
如开头所述,一些框架已进行了重大更新,最近我更倾向于使用symfony。它丰富的文档非常容易上手,但是它的复杂性也使开发小型项目变得容易,甚至像我这样。个人微型项目的过程也略胜一筹,在这方面CodeIgniter的简单性就足够了。
转载自