当前位置:首页 » 编程语言 » php框架优缺点

php框架优缺点

发布时间: 2022-05-03 15:27:51

A. 比较php不同框架的优缺点

CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。她提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发
它的好处就是小巧,几乎不用什么配置,兼容性好点有很简单清晰的文档。个人比较推荐这个框架。
但zendFrameWork目前用的人比较多一些,Zend Framework (ZF) 是用 PHP 5 来开发 web 程序和服务的开源框架。ZF 用 100% 面向对象编码实现。所以他的可扩展性强,个人认为功能zf功能比较强大。

B. 用过php框架的请进来,有哪些php框架,优缺点和稳定性

我会首选CakePHP或者Yii。都有很强大的router、caching、auth、l18n等等,都是基于MVC的。
我瞭解的CakePHP比Yii多一些,给我的感觉是速度不怎么样。我刚去Yii的网站看一下,他们的介绍中,在主流框架中,速度是最快的,所以我建议你可以选Yii。

C. 当今流行的PHP框架中各自都有什么特点,优缺点都在哪

1. Yii Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。 2. CodeIgniter CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。3. CakePHPCakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。4. PHPDevShellPHPDevShell是一个开源(GNU/LGPL)的快速应用开发框架,用于开发不含javascript的纯PHP。它有一个完整的GUI管理员后台界面。其主要目标在于开发插件一类的基于管理的应用,其中速度、安全、稳定性及弹性是最优先考虑的重点。其设计形成了一个简单的学习曲线,PHP开发者无需学习复杂的新术语。PHPDevShell的到来满足了开发者们对于一个轻量级但是功能完善,可以无限制的进行配置的GUI的需求。5. AkelosAkelos PHP框架是一个基于MVC设计模式的web应用开发平台。基于良好的使用习惯,使用它可以完成如下任务:◆方便的使用Ajax编写views◆通过控制器管理请求(request)及响应(response)◆管理国际化的应用◆使用简单的协议与模型及数据库通信你的Akelos应用可以在大多数共享主机服务供应方上运行,因为Akelos对服务器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于发布单独web应用的框架,因为它不需要非标准PHP配置便能运行。6. Symfony Symfony是一个用于开发PHP5项目的web应用框架。这个框架的目的在于加速web应用的开发以及维护,减少重复的编码工作。Symfony的系统需求不高,可以被轻易的安装在任意设置上:你只需一个Unix或Windows,搭配一个安装了PHP5的网络服务器即可。它与差不多所有的数据库兼容。Symfony的价位不高,相比主机上的花销要低得多。对于PHP开发者而言,使用Symfony是一件很自然的事,其学习曲线只有短短一天。干净的设计以及代码可读性将缩短开发时间。开发者可以将敏捷开发的原理(如DRY,KISS或XP等)应用在其中,将重点放在应用逻辑层面上,而不用花费大量时间在编写没完没了的XML配置文件上。Symfony旨在建立企业级的完善应用程序。也就是说,你拥有整个设置的控制权:从路径结构到外部库,几乎一切都可以自定义。为了符合企业的开发条例,Symfony还绑定了一些额外的工具,以便于项目的测试,调试以及归档。7. PradoPRADO团队由一些PRADO狂热者组成,这些成员开发并推动PRADO框架以及相关项目的进行。PRADO的灵感起源于Apache Tapestry。从04年开始,PRADO成为SourceForge上的开源项目之一。这个项目目前进展到了3.x版本。8. Zend作为PHP艺术及精神的延伸,Zend框架的基础在于简单,面向对象的最佳方法,方便企业的许可协议,以及经过反复测试的快速代码库。Zend框架旨在建造更安全,更可靠的Web 2.0应用及web服务,并不断从前沿厂商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那里吸收精华。9. ZooP Zoop PHP框架,意为Zoop面向对象的PHP框架。这是个稳定,可伸缩并可移植的框架。从诞生到现在的5年间,已经在不少产品开发中被使用。Zoop是一个快速,有效并干净的框架。它的伸缩性很好,你可以只安装你需要的功能。对代码并不很熟悉的开发者也可以通过Zoop快速的开发安全的web应用。熟练的开发者则可以更加将Zoop的弹性利用到极致。Zoop建议将display,logic以及数据层(MVC)分开使用。Zoop由很多组件和项目集合而成,其中包括smarty和prototype AJAX框架,PEAR模块等。高效的核心组件提供了很多你原本需要自己编码来实现的功能。Zoop内置的纠错功能可以通过配置实现生产环境下的错误日志生成,这个错误日志提供了很多信息,可读性很高,可以更轻易的寻找并排除错误。Zoop的一个特别之处在于其GuiControls,在PHP中是一个相当革新的想法。它提供了很多form widgets与验证完整的集合到一起,并形成了一个可以轻松打造个性化GuiControls的框架。10. QPHPQPHP,意为快速PHP,它是一个与ASP.NET类似的MVC框架。基本上它是这样一个情况:◆整合了Java和C#的美感◆除去了在其他PHP框架中使用的Perl形式的意义含糊的语言◆大量基于OOP的概念 Framework Comparison DB's2ORM3DB Mole9Moles10Zend Framework-----CakePHP--Symfony Project---Seagull Framework-WACT-----Prado----PHP on TRAX-----ZooP Framework-eZ Components-----CodeIgniter---#1: Indicates whether the framework comes with inbuilt support for a Model-View-Controller setup.
#2: Indicates whether the framework supports multiple databases without having to change anything.
#3: Indicates whether the framework supports an object-record mapper, usually an implementation of ActiveRecord.
#4: Indicates whether the framework includes other database objects, like a TableGateWay.
#5: Indicates whether the framework has an inbuilt template engine.
#6: Indicates whether the framework includes a caching object or some way other way of caching.
#7: Indicates whether the framework has an inbuilt validation or filtering component.
#8: Indicates whether the framework comes with inbuilt support for Ajax.
#9: Indicates whether the framework has an inbuilt mole for handling user authentication.
#10: Indicates whether the framework has other moles, like an RSS feed parser, PDF mole or anything else (useful).

D. thinkphp框架的优缺点对于开发来说最好用什么框架

优点,开发速度快。
答主在没有任何对TP的了解情况下,甚至对PHP语法都半瓢水的时候,第一次接触它,从学习到开发完成任务一个星期不到就上手并解决了。速度之快让人很有成就感,也让我从此爱上了开发。

缺点,太死板,不够灵活。
他的MVC模式简单易懂,但也限定了它在开发中不够灵活,举个简单例子,对比CI可发现,CI中一个Model中可以操作多个表,但TP只能一个。
TP默认初始化了很多配置,使用起来很方便,但自然也会影响效率。但是把一些加载配置的时间拿去研究算法,这些小影响近乎可以忽略了。

没有最好的框架,只有适合自己的框架,如果你觉得自己技术过应,建议学习ci框架,yaf框架

E. php的优点总结 php有哪些优点

PHP优点:

1.入门快,有其它语言基础的程序员二周左右的时间就可以入门,一个月左右的时间基本上就可以开发简单的项目了。

2.开发成本低,PHP最经典的组合就是:Linux + Apache + Mysql + PHP。非常适合开发中小型的web应用,因为上手容易,所以开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。

3.PHP是解释性的脚本语言,写完代码以后即可以执行,不像c,java,c++等语言还需要去编译执行,相对来说比较节省时间。

4.相对来说,PHP程序员的薪水的平均工资要比c,c++,java程序员的平均工资要低一些,特别是对于中小型企业来说可以节约一些成本。

5.配置及部署相对简单一些,对比JAVA开发来说,JAVA开发的配置就复杂多了,什么Structs、Spring、Hibernate、Tomcat等等很多地方都需要配置,甚至你在程序中每写一个SQL语句都需要先在Hibernate中配置一下,有时重新部署一个class文件或jar文件还可能需要重启Web服务器(Tomcat或Resin或其它的Web服务器)使新部署的库文件生效。

PHP开发中主要是PHP自身的配置文件及Web服务器的配置(如Apache或Nginx或Lighttpd等),相对于JAVA来说还是简单一些,而且新修改了文件以后不需要重新启动Web即可以立即生效。

6.有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony、thinkphp等,开源论坛有Discuz!、Phpwind等,开源博客WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。

内容扩展

1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库。(N = 10)

2. 语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。

3. 目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。

4. 有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smart template做模板层,如果是PHP 5.1的话,还能够使用PDO(PHP Data Object)来访问数据库。

5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。

6. PHP 5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。

7. 有成熟的社区来支持PHP的开发。

8. 目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。

9. 有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客 WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。

F. 为什么学PHP需要框架PHP框架是做什么用的

1.对于PHP初学者从框架开始学习是个很好的方法。
很多功能与其东拼西凑找开源库不如直接用现成的框架来解决,而且用框架还能保证可靠性和安全性,毕竟那是经过长时间应用检验的。
而且,用框架的更重要的原因是保证设计的合理性和可扩展性。如果不用框架难免会有结构设计方面的bug,做出来的产品难以维护,更难以扩展。
如果要从头开始写个项目,最简单快捷的方法就是用框架,而且框架选择也是很多样的,可以用Zend这样的大型框架,也可以选择一些codeigniter这样的开源轻量框架(CodeIgniter / EllisLab)。
2.对于PHP熟练者不一定非得用框架,很多优秀的PHP产品都没有用框架。
框架的好处是规范代码,统一架构,方便团队开发和维护管理,代码封装了很多常用功能,开发的时候直接使用,并且不用考虑底层架构,提升开发效率。
所以框架适合开发大多数普通项目。项目太小,没必要用框架。项目太大,需按具体业务设计架构,框架不一定好用。
3.所以,要根据自身情况而定,不一定非要使用框架。

G. thinkphp框架和phpcms框架有什么不同呢

框架就是提供一个快速敏捷开发的平台,里面一些常用的功能,都封装好,然后你要按照框架的语法和文件结构来进行网站的建设,就好比是搭建了一个房子外面的框架都设计好,你需要做的是修改里面的东西.

而cms是将整个房间,不仅框架搭建好了.里面的各个房间也给你布置好,可以不经过任何加工直接可以入住.

两者的优缺点是:
框架相对比较灵活些,可以做更多自己想做的,而不用看太多的代码.
CMS的优点就是功能比较齐全,代码都给你做好,你要做的仅仅是安排一下布局,或者做个模板.但是可变化性没有框架好.要修改的话研究的代码比较多.核心的部分比较难研究.

H. java和php的优势与劣势是什么如果要学,我该怎么选择学那个

1、java和php技术层面对比:
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考第6点。
PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。
两者相比,基本上java完胜。但是其实并没有太大的可比性,专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。

2、java和php市场份额对比:
java语言算是古老,多年的发展,其在C/S领域和B/S领域都占有一席之地,特别是在电信和银行行业。但随着社会需求的变化和其他语言的专注,java的市场正被一点点蚕食,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。其之前积累的巨大java帝国不会一下子崩塌,一定是有一个过程。所以现在学习并不需要担心其前途,现在学习你更需要担心的却是近十年间英才辈出的javaer,和大批正在进入java阵营的同业者。
PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域php的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最大的两个网站facebook和新浪微博全在使用PHP。
两者相比,算平分秋色。

3、java和PHP的发展空间对比
安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。
中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。
两者相比,个人觉得PHP的优势更加明显。

4、java和php的薪资涨幅速度对比:
java是公认的难,难上手,真正上手需要至少1-2年,而这期间都属于学徒级别,薪资涨幅有限。2年后会有一个较大的涨幅。
PHP是公认的简单,上手极快,基本过了试用期就可以涨工资了,PHPer正常是半年涨一次薪资,前3年的幅度都还可以
两者相比:其实php的前端优势明显,后段双方区域持平。并不像很多人说的PHP后面难涨,PHP缺人,但更缺熟手。java也不像很多人吹嘘的那样高薪,两级分化严重。其实也很正常,越难的语言,两级分化越是严重。

5、java和php各自发展的瓶颈:

JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。Java的特性使得它并不适合业务随着市场快速变化的互联网企业,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟asp.net没法比拟的, 还有php有很多如yaf,yii,ci等强大的框架, 中小型一般系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。
PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和weibo.com正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。

6、java和PHP的学习成本对比:
java学习,是公认的难。难以上手,难以理解。自学时间成本是12个月,自学成功率不到10%,培训时间成本也近6个月。培训费用平均成本大致为2万元左右。成为熟手的时间成本为2年。成为高手的时间成本一般为5年以上。
PHP学习,是公认为最简单的语言。解释性语言,无需编译。自学时间成本是6个月,自学成功率20%,培训时间成本3个月。培训费用平均成本1万5千元左右。成为熟手的时间成本为1年。成为高手的时间成本一般为3年以上。
两者相比,java的学校成本要明显高于PHP。

总结一下:java和PHP各有各的优势,说到明天早上也不一定说的完,我想说的是学习哪一个,都是OK的。
想学java就从事安卓行业,想从事WEB领域,就学习PHP。
由于java的学习难度,没有基础或者基础不好的同学还是谨慎选择,对于零基础的同学还是PHP可能更加适合一点。
下面是两个网址,一个是Java,一个是php,自己可以看下,对比一下
http://p.ygje.com/JAVA/
http://p.ygje.com/PHP/

I. 相对于别的php框架来说thinkphp有什么缺点

PHP框架对于立项来说非常重要,影响的是团队的开发效率和后续的维护开发成本,而对于框架又是萝卜青菜各有所爱。同样一个框架,有人爱到极点,有人骂为垃圾。所以做个整理,各取所需。

1、从Github数据来看,Laravel高居榜首,而它在国外也是用的人最多的。Laravel优点是代码优雅简洁;缺点是依赖其他扩展,内部事先复杂,系统复杂时需要配置大量的路由规则,文档少,版本更新快且不连续。

2、ThinkPHP国人开发维护,优点是中文文档完善,社区活跃;缺点是高频单字母函数让人不知所云,代码并不优雅。适合于国人快速开发一些Web系统。个人感觉缺少ORM。

3、phalcon是C写的PHP框架,以PHP扩展形式加载,优势是性能绝对的第一,是其他框架的十倍,但缺点是学习成本高,一旦发现框架bug对于不懂C和PHP扩展的同学来说几乎是死穴。

4、Yii,华裔开发,所以交流上比较顺畅,优点是强大的组件,丰富的类库,成熟的模式,方便的gii,各式的widget,支持ORM,支持多语言国际化,代码干净。缺点是入门容易,精通很难,需要懂其设计思想。

多角度对比

  • 性能:phalcon > yii ≈ laravel,因为phalcon使用C语言开发,以php扩展的方式加载,这样不需要对框架进行额外的解析和执行,所以性能好

  • 代码可读性:laravel更胜一筹(表现力较强,不懂php基本也能看懂他在做什么)

  • 开发速度:yii ≥ laravel > phalcon

  • 学习成本、使用成本:yii ≥ laravel > phalcon

  • 综上所述,整体上Yii相对突出,适合中大型项目;ThinkPHP适合快速开发和中小型项目;phalcon适合高性能要求的项目;Laravel适合简洁对代码有最追求的同学。大家各取所需。

J. 用ThinkPHP 这样的框架开发门户网站,有什么缺点

ThinkPHP的优缺点如下:
1、高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、数据分表等高级特性。
2、视图模型:轻松动态地创建数据库视图,多表查询相对简单。
3、关联模型:让你以出乎意料的简单、灵活的方式完成多表的关联操作。
4、模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类型的模板标签,融合了Smarty和JSP标签库的思想,支持标签库扩展。通过驱动还可以支持Smarty、EaseTemplate、TemplateLite、Smart等第三方模板引擎。
5、缓存机制:系统支持包括文件方式、APC、Db、Memcache、Shmop、Eaccelerator和Xcache在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。
6、类库导入:ThinkPHP是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。为了方便项目的跨平台移植,系统还可以严格检查加载文件的大小写。
7、扩展机制:系统支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、Widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心DIY自己的框架和扩展应用。
8、URL模式:系统支持普通模式、PATHINFO模式、REWRITE模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,让你随心所欲的构建需要的URL地址和进行SEO优化工作。
9、编译机制:独创的核心编译和项目的动态编译机制,有效减少OOP开发中文件加载的性能开销。ALLINONE模式更是让你体验飞一般的感觉。
10、ORM:简洁轻巧的ORM实现,配合简单的CURD以及AR模式,让开发效率无处不在。
11、查询语言:内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效。
12、动态模型:无需创建任何对应的模型类,轻松完成CURD操作,支持多种模型之间的动态切换,让你领略数据操作的无比畅快和最佳体验。
13、分组模块:不用担心大项目的分工协调和部署问题,分组模块帮你解决跨项目的难题。
14、AJAX支持:内置AJAX数据返回方法,支持JSON、XML和EVAL格式返回客户端,并且系统不绑定任何AJAX类库,可随意使用自己熟悉的AJAX类库进行操作。
15、多语言支持:系统支持语言包功能,项目和模块都可以有单独的语言包,并且可以自动检测浏览器语言自动载入对应的语言包。

16、模式扩展:除了标准模式外,系统内置了Lite、Thin和Cli模式,针对不同级别的应用开发提供最佳核心框架,还可以自定义模式扩展。
17、自动验证和完成:自动完成表单数据的验证和过滤,生成安全的数据对象。

18、字段类型检测:字段类型强制转换,确保数据写入和查询更安全。

19、数据库特性:系统支持多数据库连接和动态切换机制,支持分布式数据库。犹如企业开发的一把利刃,跨数据库应用和分布式支持从此无忧。

热点内容
汽修汽配源码 发布:2025-05-14 20:08:53 浏览:742
蜜蜂编程官网 发布:2025-05-14 19:59:28 浏览:57
优酷怎么给视频加密 发布:2025-05-14 19:31:34 浏览:635
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:860
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:434
Pua脚本 发布:2025-05-14 19:24:56 浏览:449
苹果像素低为什么比安卓好 发布:2025-05-14 19:13:23 浏览:461
安卓机微信怎么设置红包提醒 发布:2025-05-14 19:00:15 浏览:272
androidsystem权限设置 发布:2025-05-14 18:56:02 浏览:971
mq脚本 发布:2025-05-14 18:45:37 浏览:25