谈谈大家对PHP框架的各种误解

时间:2022-10-20 22:23:47 | 浏览:3640

有人认为,PHP是每次请求都要初始化资源,这个开销非常大。由此,PHP不适合使用开发框架。 对于PHP,确实没有类的持久化,使得每次请求都要初始化资源,但是,这并不是开销的主要问题所在。最主要的问题,是在于开发PHP框架的人,对PHP本身的

有人认为,PHP是每次请求都要初始化资源,这个开销非常大。由此,PHP不适合使用开发框架。

对于PHP,确实没有类的持久化,使得每次请求都要初始化资源,但是,这并不是开销的主要问题所在。最主要的问题,是在于开发PHP框架的人,对PHP本身的特性了解多少。最简单的,MVC需要检测UA,如果使用PHP自带的get_browser函数,那肯定是死定了。因为,使用上的方便与简单,导致的是性能的开销。

认为不可使用PHP开发框架的,还有的观点是:由于需要每次请求的时候初始化整个框架。其实,这也是一种误解。如果好好看看PHP源码,就会了解,PHP是按请求加载需要运行的文件,并不是整个框架。所以,对于框架本身,哪一种框架内核代码时越小,性能越好。

还有观点:由于PHP这种每请求初始化资源的机制,也造成了PHP添加跨请求的高级特性相当困难。其实,跨请求本身,要看在哪一个层面。PHP提供了各类加速的缓存机制。虽然PHP的类是由于目前序列化函数仍有限制,不能持久化,但数据缓存对PHP的加速是相当快的。所以,认为由于这一限制,就使得PHP只能是一个保持在一个比较简单的web语言上面,这无疑更是错误的。PHP不乏大型的高速与高效的网站。并不是这些网站底层就没有框架。

另外,还有轻信什么测试的结果。
http://merbist.com/wp-content/uploads/2008/11/benchmarks.png,对于这个测试结果,我觉得,没有一丝一毫的可信度。我们无法相信这些测试结果,主要原因有这么几个方面。其一,PHP环境配置,是不是最优化配置?第二,测试结果中所选框架,是不是最优框架?仅拿CI与CAKE两者来说,CI的日志,没有多种输出,只有文件输出。这对于大型网站的管理是极不方便的。但是,如果将其改用LOG4PHP,那性能上的损失将会是多少,是不可想象的。原因在于,LOG4PHP是完全照抄的JAVA。至于CAKE,更是完全照抄RAILS。完全不顾及PHP的性能与语言本身的特性。

比如最简单的,大量静态方法的使用。势必造成以空间换时间。CAKE中无处不在的静态方法,导致了内存中堆积大量的类。这种以空间换时间,是速度加快了,还是性能损失了,有多少人真正系统测试过?

CAKE让RUBY的人了解PHP是对PHP的一个促进,同时,RAILS框架,也使得PHP框架得以注入新的血液,增加了新的开发思路。但,完全照抄是PHP目前最大的悲剧。这个当中的经典之作:CAKE:RUBY ON RAILS, SMARTY: JAVA STRRUTS LOG4PHP:JAVA LOG4J,可悲的是,写这些抄袭之作的作者,都是对PHP不太了解,大量照搬RUBY,JAVA中的算法与函数,有些可以算是翻译,比如, LOG4PHP中的PROPERTIIES文件的处理就是这样,不必再举更多的实例了。为什么不能把JSF,或TYPESTRY也抄到PHP中,这是因为,如果没有很好的PHP功底,这几乎是不可能的。因为,这两个东西,如果也是照抄过来,势必慢如蜗牛。

再有,梦想不用PHP框架开发大型网站,肯定是错上加错。WORDPRESS,DISCUZ这类无框架,无架构的极端糟糕的代码,网上已屡见不鲜。

要访问数据库,最小的需求,也要把数据库访问封装成一个类吧?要进行错误与异常管理,也需要一个类吧?如果是大型的网站,总要有错误日志输出,以方便调视与运行监视吧。所以这些,拼一下,也算是PHP开发框架呀。

看样子,否认PHP应当有框架的人,肯定也就认定,PHP做不了大网站。或者说,认定,PHP做大网站,也是垃圾架构。这可能是太武断了。

凡认为PHP是反框架的,实际上,是不了解PHP语言的一些瓶颈在何处,无法写出高效的框架,所以,才这样认为的。

本文转载自ITeye!

本站文章除注明转载外,均为本站原创或翻译

相关资讯

PHP是什么?程序猿小白的第一次实操,PHP运行环境搭建和配置

对于程序猿小白而言肯定会问:PHP是什么?那么给小白普及下:PHP是一种快速地开发动态Web网页的脚本语言。与ASP,JSP一样,PHP是服务器端的、嵌入式HTML脚本语言,区别于其他客户端脚本的地方是它的页面嵌入代码在服务器端执行,仅把执

现代化php的发展史

提到php很多人还在用旧的思维在看它,殊不知,识别三日当刮目相看,如今的php早已不是当初的php,它已经成长为了一个有着非常强大的社区的编程语言,每年都会有新的版本诞生,每年都会有新的特性被添加,而且每年各地都会有开发者大会举行,php正

PHP8.1性能基准测试

出品|开源中国作者|白开水PHP 8.1 已于上周正式发布,科技媒体 Phoronix 紧随其后发布了针对 PHP 8.1 的性能基准测试报告。此次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器上进行的。所有

硬核观察#396PHP仍然是统治服务器端的编程语言

PHP 仍然是统治服务器端的编程语言根据 W3Techs 今天发布的一份报告,PHP 在 2010 年的市场份额为 72.5%,而在 2021 年占比达到 78.9%。只有一个其他的服务器端语言曾经突破 10% 的份额,这个竞争对手是 AS

「最好的语言」PHP在2019年:缺点还有,但会变得更好

PHP 是一种开源的通用计算机脚本语言,适用于网络开发并可嵌入 HTML 中使用。它的语法借鉴吸收 C 语言、Java 和 Perl 等流行计算机语言的特点,易于一般程序员学习。但是由于太难用,也是被很多人吐槽的一种语言。下面,来看看这位曾

2019年了,PHP已不再是当年那个“设计糟糕”的语言

作者 | Brent译者 | 张兰月这篇文章不在于解决关于 PHP 的那个永恒话题,而是想让你了解,PHP 在这些年的进展以及那些值得关注的特性与发展现状。之前,有一篇非常流行的博客文章是“PHP:那些糟糕的设计”,第一次读到这篇博客的时候

PHP优秀框架Laravel和Yii大PK

译者 | 陈峻如果您向任何经验丰富的Web应用开发人员询问,什么是他们首选的编程语言的话,他们的回答居多会提到PHP。的确,PHP是一种被广泛使用的通用脚本语言,特别适用于Web开发,并且可以被嵌入到HTML中。根据网站技术分析工具Buil

PHP8.1新功能初探:添加Enums,Fsync和Fibers等正式版11月发布

PHP 8.1 已经于今年 6 月进入 Alpha 阶段。它是继去年 PHP 8.0 之后的又一重大升级版本,添加了 Enums, Fsync 和 Fibers 等等,并对性能进行了诸多优化。PHP 8.1 在最近几个月的改进主要包括:●

2022软件工程师状况报告:Go最抢手|开发者最“嫌弃”PHP、Swift

近日,知名人才招聘网站 Hired 公布了“2022 年软件工程师状况报告”。“2022 年软件工程师状况报告”基于对 2020 年 1 月 - 2021 年 12 月间收集的 2000 份调查回复进行整理,通过对市场上公司和软件工程师之间

世界上最好的编程语言PHP和Facebook的感情经历

今天讲一段情史,是关于世界上最好的编程语言PHP和Facebook的感情经历。恋爱PHP能和Facebook谈恋爱,主要归功于创始人扎克伯格。小扎这个哈佛的学生,很不安分,鬼点子很多,很喜欢整一些快餐式的Web项目。而PHP的特点就是快速开

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈段子笑话精选围棋培训网达州新闻头条网江门新闻媒体网吴京影迷网公司起名取名网手表腕表之家容声冰箱评测网山西汾酒A股杭州旅游网电饭煲品牌网儿童玩具批发资讯网今日周口镇远古城旅游网虎宝宝名字测算网
PHP编程知识网-php开源建站系统、PHP程序员网站开发、php编程工具、php菜鸟教程下载、PHP网络编程教学、php网络编程、php工程师、php菜鸟教程数据库、PHP网站开发、PHP精品源码网站、php程序员入门、php零基础入门教程、php源码搭建网站流程、php从入门到精通第2版、php开发简单网站、php制作网站实例、php网站开发实例教程源代码、php中文网破解版、php中文网。
php编程知识 yoceo.cn ©2022-2028版权所有