首页 > 后端开发 > 正文

怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架

2023-10-02 23:30:38 | 我爱编程网

今天,我爱编程网小编为关注后端开发的同学们准备了怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架,下面一起来看一下吧。

怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架

php开发常用框架有哪几个



php开发常用框架介绍:
(视频教程推荐:php视频教程)
一、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.从thinkphp3.2.2引入composer包管理工具
缺点
1.对Ajax的支持不是很好;
2.目录结构混乱,相比其他框架目录结构要差一点;
3.上手容易,但是深入学习较难。
二、Yii
Yii 是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了 今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
优点
1.纯OOP
2.用于大规模Web应用
3.模型使用方便
4.开发速度快,运行速度也快。性能优异且功能丰富
5.使用命令行工具。
6.支持composer包管理工具
缺点:
1.对Model层的指导和考虑较少
2.文档实例较少
3.英文太多
4.要求PHP技术精通,OOP编程要熟练!
5.View并不是理想view,理想中的view可能只是html代码,不会涉及PHP代码。
三、laravel
优点
1.laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD
2.支持composer包管理工具
3.集合了php 比较新的特性,以及各种各样的设计模式,Ioc 容器,依赖注入等。
缺点
1.基于组件式的框架,所以比较臃肿
四、CodeIgniter
优点:
1.Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。几行代码就能开始运行,再加几 行代码就可以进行输出。可谓是“大道至简”的典范。
2.配置简单,全部的配置使用PHP脚本来配置,执行效率高;
3.具有基本的路由功能,能够进行一定程度的路由;
4.具有初步的Layout功能,能够制作一定程度的界面外观;
5.数据库层封装的不错,具有基本的MVC功能.
6.快速简洁,代码不多,执行性能高,
7.框架简单,容易上手,学习成本低,文档详细;
8.自带了很多简单好用的library,框架适合小型应用.
缺点:
1.本身的实现不太理想。
2.内部结构过于混乱,虽然简单易用,但缺乏扩展能力。
3.把Model层简单的理解为数据库操作.
4.框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要.
评价:
总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不 错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的library 也还不错,简洁高效。
五、Zend Framework
优点:
1.大量应用了PHP5中面向对象的新特征:接口、异常、抽象类、SPL等等。这些东西的应用让Zend Framework具有高度的模块化和灵活性
2.严格遵循“针对接口编程”和“单一对象职责”等原则
3.官方出品,自带了非常多的library,框架本身使用了很多设计模式来编写,架构上很优雅,执行效率中等
4.MVC设计,比较简洁
5.具有路由功能,配置文件比较强大(能够处理XML和php INI)
6.能够直观的支持除数据库操作之外的Model层(比 CodeIgniter 和 CakePHP 强),并且能够很轻易的使用Loader功能加载其他新增加的Class
7.Cache功能很强大,从前端Cache到后端Cache都支持,后端Cache支持Memcache、APC、SQLite、文件等等方式
8.数据库操作功能很强大,支持各种驱动(适配器)
9.文档很全,在国内社区很成熟
缺点:
1.MVC功能完成比较弱,View层简单实现(跟没实现一样),无法很强大的控制前端页面.
2.没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成本高
3.对于简单和小型的项目来说,反而因为在框架中应用了大量面向对象设计,对开发者提出了更高的要求,间接增加了项目的开发成本
评价:
作为官方出品的框架,Zend Framework的野心是可以预见的,想把其他框架挤走,同时封装很多强大的类库,能够提供一站式的框架服务,并且他们的开发团队很强大,完全足够有能力开发很强大的产品出来,所以基本可以确定的是Zend Framework前途无量,如果花费更多的时间去完善框架。同样的,Zend Framework架构本身也是比较优雅的,说明Zend官方是有很多高手的,设计理念上比较先进,虽然有一些功能实现的不够完善,比如View层,自动化脚本等等,这些都有赖于未来的升级
六、CakePHP
优点:
1.最类似于RoR的框架,包括设计方式,数据库操作的Active Record方式
2.设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错
3.数据库层的 hasOne, hasMany功能很强大,对于复杂业务处理比较合适
4.路由功能,配置功能难度适中
5.自动构建脚手架(scaffold)很强大,适合中型应用
6.基本实现过了MVC每一层
7.具有自动操作命令行脚本功能
8.文档比较全,学习成本中等
缺点:
1.CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力
2.cache功能略显薄弱
3.配置功能稍嫌弱
4.不适合大型应用,只适合中型应用,小型应用来说略微的学习成本高了点.
评价:
总体来说CakePHP框架代表了PHP框架很重要的一个时代和代表,并且目前发挥着很重要的作用,不少自己写的框架都模仿了CakePHP的方式,是个里程碑式的产品;CakePHP透露着RoR的敏捷开发方式和把数据库操作认为是唯一Model的设计思想,作为开发快速应用和原型是绝好的工具;同样,用来做Web2.0网站的开发框架,也是值得选择的
七、Symfony
优点:
1.完整实现了MVC三层
2.封装了所有东西,包括 $POST,$GET 数据,异常处理,调试功能,数据检测
3.包含强大的缓存功能
4.自动加载Class,能够很随意的定义各种自己的class
5.强大的语言支持
6.具有很强大的view层操作,能够零碎的包含单个多个文件
7.非常强大的配置功能,使用xml配置能够控制所有框架和程序运行行为
8.包含强大的多层级项目和应用管理:Project --> Application --> Module --> Action,能够满足一个项目下多个应用的需要,并且每层可以定义自己的类库,配置文件,layout
9.非常强大的命令行操作功能,包括建立项目、建立应用、建立模块、刷新缓存等等
10.Symfony绝对是开发大型复杂项目的首选,因为使用了Symfony,将大大节约开发成本,并且多人协作的时候,不会出现问题,在Project级别定义好基础Class以后,任何模块都能够重用,大大复用代码.
缺点:
1.最大的问题也在于使用了太多风格迥异的开源项目来组合成框架
2.由于Mojavi和Propel本身都相当复杂,因此Symfony的结构非常复杂,难以理解和学习
3. 缓存功能无法控制,每次开发调试总是缓存,需要执行 symfony cc,symfony rc来清除和重建缓存
4.效率不是很高,特别是解析模板和读取配置文件的过程,花费时间不少
5.学习成本很高,并且国内没有成熟的社区和中文文档
评价:
Symfony绝对是企业级的框架,唯一能够貌似能够跟Java领域哪些强悍框架抗衡的东西;强悍的东西,自然学习复杂,但是相应的对项目开发也比较有帮助,自然是推荐复杂的项目使用Symfony来处理,觉得是值得,后期的维护成本比较低,复用性很强。相应的如果使用Symfony的应该都是比较复杂的互联网项目,那么相应的就要考虑关于数据库分布的问题,那么就需要抛弃Symfony自带的数据库操作层,需要自己定义,当然了,Symfony支持随意的构造model层
总评:
以上数款框架,各有特色,而且都是开源项目,不过框架针对的项目不一样,一般来说:
1.小型项目:CodeIngiter
2.中型项目:CakePHP、Zend Framework、Laravel、Thinkphp
3.大型重量级项目:Yii、Symfony、Laravel

怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架

如何选择 PHP 框架

在如此多的PHP MVC框架中,怎样去选择一款各方面都不错的框架学习并在项目中使用它?这是每一个PHPer都会面临的问题。比如当前比较流行的框架有:ZendFrameWork、ThinkPHP(国产)、CodeIgniter、YII等。每个人心目中的好坏标准不一样,再加上有的人习惯了某框架,想让他再接受其优秀的框架也是比较难的。所以,我们应该怎样去判断一款框架是否属于自己,变得非常的突出。现在我给出几个标准:
性能
所谓的性能指的是IO、CPU占用、PHP解析时间等几个指标。当前的服务器最突出的问题是CPU已经非常快了,内存已经够大够便宜了,唯独硬盘IO不够高。这就像一个一个智商150与一个智商80的人做1+1一样,根本体现不出智商的优越性。
全栈式
虽然我个人不太赞成PHP框架过度全栈式。但是,如果能把全栈式做到优雅简洁,我也是非常兴奋的。什么是全栈式?就是一款框架包含了WEB开发中所有的东西。比如:上传、分页、导入导出、邮件、日志、错误、二维码、RSS、RBAC等。这样的话,才能真正解决掉我们去自己实现的麻烦,节省我们的时间。也提高了代码的安全性移植性。
学习难度是否陡峭
毕竟我们要运用到实际的项目中。以后陆续还会添加更多的人进入项目开发中。如果,学习难度过于陡峭,势必会影响项目的进度和后期维护的成本。目前,我用过的框架中ThinkPHP做得还不错,文档还比较完整易懂。换作正在用的YII框架,简直是头痛。提供的文档实在是过于简单,示例不够丰富。而且,代码不够优雅。在某些设计上,过于面向对象,导致在PHP这种语言中操作起来不是特别顺手。
框架社会是否活跃
一个社区活跃与否,直接关系到这个框架的未来的命运。谁也不希望今天还牛逼的框架,就因为没有与时俱进,最终淹没在历史的长河中。自己又得花时间掌握新框架。比如:前几天MongoDB还是比较火的时候,当时几乎没有框架在DB层,即ORM实现这个数据库的接口。而项目中可能会考虑使用MongoDB。当时几个比较知名的且速度比较过得去的框架都没有支持。结果,还是咱们国产的ThinkPHP支持了。虽然,BUG可能有点多。至少,某种程度说明了一个活跃的社区是非常有必要的。
框架使用的群体大小
一款框架再牛逼,如果没有人使用。你学了也只能在自己的一亩三分地有所建树。出了这个圈,效果就不明显了。PHPer学习这个东西,主要还是为了能找一份高薪顺手的工作。如果,学了半天,结果却没有人用这个框架在项目中。那是相当悲催的。

来源于网络 我爱编程网

怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架

如何选择一门适合自己的 php 框架

PHP作为一门成熟的WEB应用开发语言,已经深受广大开发者的青睐。与此同时,各式各样的PHP开发框架也从出不穷,面对如此多而且良莠不齐的开发框架,开发者们想必都会眼花缭乱,不知道该选择用哪个。其实并没有一个标准来衡量哪个开发框架就是最好的,开发者们需要根据自己的需求和项目要求来选择。今天蝉知小编和大家交流分享下开发者们在选择PHP开发框架时应该考虑哪些因素。
1.项目需求:定制开发 VS 所见即所得的功能
选择合适的开发框架首先是基于项目需求考虑的。如果你的项目需求都是一些基本通用的功能,通过一些基本的插件或组件就能实现,那完全可以考虑使用诸如Joomla, 、WordPress、蝉知系统这样的CMS系统,因为这些CMS系统为你的开发工作提供了足够的基本插件和组件。但如果你的项目需求比较特殊,并需要定制设计开发,那么我们的选择应该倾向于像Zend、CakePHP、ZentaoPHP、Yii等这类开发框架,这些开发框架提供了函数库,满足开发者在此基础上根据需求定制开发。
2.健全的架构:设计模式
大多数的开发框架采用的都是MVC设计模式,这也是被广泛应用于WEB开发的一种设计模式。在使用这些开发框架之前,开发者们需要认真分析它的MVC模式是如何实现的,比如像Zend这样的框架在实现MVC时自由度比较高,并允许开发者对其自定义修改,但像Yii这样的框架,其MVC实现比较严格,开发者必须遵守框架制定的规则。所以小编个人在选择开发框架时都会考虑一个问题,开发者与该框架到底谁是谁的工具。
3.数据库访问:提高数据操作效率
使用开发框架的一个很大优点就是可以重用数据库访问层。一些框架提供了ROM支持,方便数据库编程,也有一些框架比较人性化,注重开发者的自由度,比如zentaoPHP框架。zentaoPHP虽然没有去实现ORM或者ActiveRecord这样的功能,但是它为开发人员提供了足够的自由发挥空间。框架里面提供了一个简单方便的数据库访问对象类DAO,并且在封装DAO的时候尽可能的兼容标准的sql写法,这也是小编用的最顺手的开发框架之一。所以小编不得不重申老观点,“无论选择什么,适合自己的才是最好的。”
4.安全机制:防御应用程序漏洞
一款优秀的开发框架需要健全的安全机制来防御WEB应用程序漏洞,比如跨站脚本攻击(XSS)、跨站请求伪造攻击(CSRF)、Cookie攻击等。尤其对于那些主流的、开源的开发框架,更是黑客攻击的热衷对象。开发人员在项目开发过程中必须意识到这些可能存在的漏洞,框架也应该有相关的指导文档,帮助开发者防御这些web应用漏洞。
5.文档和社区支持:降低学习曲线
开发者们自然都希望框架功能完善强大的同时,又能够降低其学习成本。一款成熟的开发框架应该有活跃的社区支持、详细的参考文档、丰富的示例代码,以帮助开发者们能够轻松快捷的掌握框架功能。
每款开发框架都有其优点和缺点,开发者们需要根据自己的项目需求和框架的各自特点,综合考虑到底选用哪个开发框架最合适。以上小编只是列举了几个常见参考因素,如果大家还有其他补充,欢迎和大家一起分享讨论,我们共同学习,共同交流,共同进步

以上就是我爱编程网小编为大家带来的怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架,希望对大家有帮助,了解更多相关资讯请关注我爱编程网。
与“怎么知道自己是哪个php框架 如何选择一门适合自己的 php 框架”相关推荐
如何设计自己php框架 如何选择一门适合自己的 php 框架
如何设计自己php框架 如何选择一门适合自己的 php 框架

PHP新手该如何学习使用开发框架,有案例吗?关于PHP新手该如何学习使用开发框架,有案例吗,我有下面的观点。步骤1:PHP基础知识。如果你想在Web开发中建立一个未来,习得任何语言都需要一个坚实的语法基础,而HTML和CSS是基本技能。在PHP中:知识:容易掌握PHP的基本知识,了解PHP变量、变量类型、常量,如概念、PHP操作符理解和掌握PHP序列结构、结构条件、三种语言

2023-09-23 23:24:17
php自己的框架更好 如何选择一门适合自己的 php 框架
php自己的框架更好 如何选择一门适合自己的 php 框架

国外主流PHP框架对比评测最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架)大致对这些框架有个直观上的感受简单分享一下对于哪些做框架选型的时候权当一个参考主要参考的框架包括CodeIgniterCakePHPZendFrameworkSymfony我对很多框架也没有认真使用只是简单试用了一下可能很多看法不成熟或者是错误的请大家指正一起成长CodeI

2023-09-18 18:10:44
php如何选择框架 如何选择一门适合自己的 php 框架
php如何选择框架 如何选择一门适合自己的 php 框架

目前php开发网站,最为流行的框架是哪几个?YiiYii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上

2023-08-28 21:11:49
php开发用自己框架 如何选择一门适合自己的 php 框架
php开发用自己框架 如何选择一门适合自己的 php 框架

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-09-20 14:52:38
php框架之争 如何选择一门适合自己的 php 框架
php框架之争 如何选择一门适合自己的 php 框架

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-08-31 04:40:19
怎么知道自己的php框架 如何选择 PHP 框架
怎么知道自己的php框架 如何选择 PHP 框架

php有哪些框架?PHP常用框架有:1.thinkphp:国人开发,文档比较全,中文文档。入门比较简单。写法快。2.laravel:国外人写的,入门门槛高。英语文档,社区比较活跃。3.symfony:国外人写的。门槛比较高,英语文档。4.yii:国内人写的,门槛较低。想学习这些框架,可以去黑马程序员看视频,有thinkphp、laravel的框架学习视频。如何

2023-09-28 04:42:02
php怎么选取使用什么框架 如何选择一门适合自己的 php 框架
php怎么选取使用什么框架 如何选择一门适合自己的 php 框架

php需要学习哪些框架PHP需要学习哪些框架呢?让我们一起了解一下!PHP需要学习的框架有很多,下面为您例举几种常用的框架:国内框架:ThinkPHP、Canphp、KYPHP、InitPHP、SpeedPHP、CdvPHP等。国外框架:ZendFramework、Codelgniter、CakePHP、Symfony、Yii、Seagull、Laravel等。拓展:什么

2023-09-28 13:35:39
php判断使用什么框架 如何选择一门适合自己的 php 框架
php判断使用什么框架 如何选择一门适合自己的 php 框架

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-09-16 15:16:10