php中7个常用框架

2023-11-26    分类: 网站建设

一、ThinkpHp

ThinkpHp(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植而来的中文pHp开发框架。它使用面向对象的开发结构和MVC模式,并模拟Struts标记库的实现。它在所有方面都更加用户友好。熟悉J2EE的开发人员相对易于使用,适合php框架初学者。 ThinkpHp的目的是简化开发,提高效率并易于扩展。它的数据库支持包括MySQL,MSSQL,Sqlite,pgSQL,Oracle和pDO支持。 ThinkpHp具有丰富的文档和示例,并且该框架具有高度兼容性,但功能有限,因此更适合中小型项目的开发。

优势

1.借助成熟的Java思想

2.易于使用,具有丰富的中文文件;学习成本低,社区活动频繁

3.框架高度兼容,pHp4和pHp5完全兼容,并且UTF8完全受支持。

4.适用于中小型项目的开发

5.从thinkphp 3. 2. 2引入了作曲家软件包管理工具

缺点

1.不能很好地支持Ajax;

2.目录结构混乱,比其他框架目录结构差一点;

3.易于入门,但更难于深入学习。

二、Yii

Yii是用于开发大型Web应用程序的基于组件的高性能php框架。 Yii采用严格的OOp编写,并具有完整的库参考和全面的教程。从MVC,DAO / ActiveRecord,小部件,缓存,分层RbAC,Web服务到主题化,I18N和L10N,Yii提供了当今Web 2. 0应用程序开发所需的几乎所有功能。实际上,Yii是最高效的pHp框架之一。

优势

1.纯OOp

2.用于大型Web应用程序

3.该模型易于使用

4.开发速度很快,并且运行速度也很快。出色的性能和丰富的功能

5.使用命令行工具。

6.支持作曲家软件包管理工具

缺点:

1.对模型层的指导和考虑较少

2.更少的文档示例

3.英语太多

4.需要精通pHp技术并精通OOp编程!

5.视图不是理想的视图。理想的视图可能只是html代码,而不涉及pHp代码。

三、laravel

优势

1. laravel的设计思想非常先进,非常适合各种开发模型TDD,DDD和bDD的应用

2.支持作曲家软件包管理工具

3.结合了pHp的相对较新的功能,以及各种设计模式,Ioc容器,依赖项注入等。

缺点

1.基于基于组件的框架,因此很肿

四、CodeIgniter

优点:

1. Code Igniter倡导“简单就是美”的原则。没有花哨的设计模式,没有华丽的对象结构,一切都那么简单。几行代码可以开始运行,并且可以输出更多行代码。可以说是“道为坚”的典范。

2.配置简单,所有配置均使用pHp脚本配置,执行效率高;

3.具有基本的路由功能,可以执行一定级别的路由;

4.具有初步的布局功能,可以使界面外观达到一定水平;

5.数据库层封装良好,具有基本的MVC功能。

6.快速简洁,代码不多,执行性能高,

7.具有简单的框架,易于使用,学习成本低和详细的文档;

8.带有许多简单易用的库,该框架适用于小型应用程序。

缺点:

1.本身的实现并不理想。

2.内部结构太混乱了。尽管它简单易用,但缺乏扩展功能。

3.只是将Model层理解为数据库操作。

4.框架有点简单,只能满足小型应用程序的需求,但满足中型应用程序的需求却略微不足。

评论:

通常,值得使用CodeIgniter来完成简单而快速的应用程序。同时,可以构造一定级别的布局以利于模板重用。数据操作层包装合理,CodeIgniter并没有使用太多过于复杂的设计。模式,执行性能和代码可读性都很好。至于附加库,它还不错,简单而有效。

五、Zend Framework

优点:

1. pHp5中大量的面向对象的新功能:接口,异常,抽象类,SpL等。这些东西的应用使Zend Framework高度模块化和灵活

2.严格遵循“接口编程”和“单一对象责任”的原则

3.正式生产,它带有很多库,框架本身使用许多设计模式进行编写,体系结构非常优雅,执行效率中等

4. MVC设计,更简洁

5.具有路由功能和相对强大的配置文件(能够处理XML和php INI)

6.可以直观地支持数据库操作以外的模型层(比CodeIgniter和CakepHp强),并且可以轻松地使用Loader函数加载其他新添加的类

7.缓存功能非常强大,从前端缓存到后端缓存均受支持,后端缓存支持Memcache,ApC,SQLite,文件等。

8.数据库操作功能非常强大,并支持各种驱动程序(适配器)

9.具有完整的文档,并且在国内社区中已经成熟

缺点:

1. MVC功能的完成相对较弱,View层易于实现(与未实现相同),并且不可能非常强大地控制前端页面。

2.没有自动脚本。要创建包括入口文件在内的应用程序,所有文件都必须由您自己手动构建,而入门成本很高。

3.对于简单的小型项目,它没有在框架中应用大量的面向对象设计,而是对开发人员提出了更高的要求,从而间接增加了项目的开发成本。

评论:

作为一个官方框架,Zend Framework的雄心是可以预见的。它希望压缩其他框架,同时封装许多功能强大的类库,这些类库可以提供一站式框架服务php框架比较,并且他们的开发团队非常强大。它完全有能力开发非常强大的产品,因此,如果可以花更多的时间来完善Zend Framework,则可以肯定的是Zend Framework的前景广阔。同样,Zend Framework体系结构本身也相对优雅,这表明Zend官员拥有许多大师,并且设计概念相对先进。尽管某些功能尚未完全实现,例如视图层,自动脚本等,但这些功能都取决于未来。升级

六、CakepHp

优点:

1.与RoR最相似的框架,包括设计方法,数据库操作的Active Record方法

2.设计水平非常优雅,没有额外的库,所有功能都是纯框架,执行效率还不错

3.数据库层的hasOne和hasMany功能非常强大,更适合复杂的业务处理

4.路由功能,配置功能中等难度

5.自动脚手架功能强大,适合中型应用

6.基本上实现了MVC的每一层

7.具有自动操作命令行脚本的功能

8.文档相对完整,学习成本中等

缺点:

1. CakepHp的一个非常严重的问题是,它将Model理解为数据库层操作,这严重影响了除数据库之外的操作能力

2.缓存功能略弱

3.配置功能稍弱

4.不适合大规模应用,仅适合中型应用。对于小型应用程序,学习成本会更高。

评论:

通常,CakepHp框架代表着一个非常重要的时代,并且代表了pHp框架,并且目前正在发挥非常重要的作用。他们自己编写的许多框架都模仿CakepHp成为里程碑产品的方式。 CakepHp透露基于RoR的敏捷开发方法和将数据库操作视为唯一模型的设计思想,它是开发快速应用程序和原型的出色工具;同样,也值得选择成为Web 2. 0网站的开发框架。

七、Symfony

优点:

1.完全实现三层MVC

2.封装了所有内容,包括$ pOST,$ GET数据,异常处理,调试功能,数据检测

3.包含强大的缓存功能

4.自动加载Class,可以随意定义各种自己的类

5.强大的语言支持

6.具有非常强大的视图层操作,可以分段包含多个文件。

7.非常强大的配置功能,使用xml配置来控制所有框架和程序运行行为

8.包括功能强大的多层项目和应用程序管理:项目->应用程序->模块->动作,可以满足一个项目下多个应用程序的需求,并且每一层都可以定义自己的类库,配置文件,布局

9.非常强大的命令行操作功能,包括构建项目,构建应用程序,构建模块,刷新缓存等。

10.Symfony绝对是开发大型复杂项目的选php框架比较,因为使用Symfony可以大大节省开发成本,并且当多人协作时不会出现问题。在项目级别定义基本类之后,可以重用任何模块,从而大大地重用了代码。

缺点:

1.的大问题是太多的具有不同样式的开源项目被用于形成框架

2.由于Mojavi和propel都很复杂,因此Symfony的结构非常复杂,难以理解和学习

3.无法控制缓存功能。每当您进行开发和调试时,它始终会被缓存,您需要执行symfony cc,symfony rc来清除和重建缓存

4.效率不是很高,尤其是在解析模板和读取配置文件的过程中,这需要很多时间

5.学习成本很高,而且中国没有成熟的社区和中文文档

评论:

Symfony绝对是一个企业级框架,似乎唯一可以与Java领域强大的框架竞争的东西。强大的功能自然很难学习,但是相应的功能也对项目开发更有帮助。自然,建议使用Symfony进行复杂的项目进行处理,我认为这是值得的,后期的维护成本相对较低,可重用性很强。相应地,如果将Symfony用于更复杂的Internet项目,则必须相应地考虑数据库分发的问题,然后需要丢弃Symfony随附的数据库操作层,并且需要自己定义它。当然,Symfony支持任意的Construct模型层

一般评论:

以上几个框架都有自己的特点,都是开放源代码项目,但是框架所针对的项目并不相同。一般来说:

1.小项目:CodeIngiter

2.中型项目:CakepHp,Zend Framework,Laravel,Thinkphp

3.大型重量级项目:Yii,Symfony,Laravel

以上划分不是绝对的。选择项目时,我们必须充分考虑框架的自定义和可伸缩性,因为每个项目都无法确定是否会随需求的变化而变化

当前标题:php中7个常用框架
文章地址:/news23/296873.html

成都网站建设公司_创新互联,为您提供品牌网站建设定制开发ChatGPT网站维护网站内链Google

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设