`
bardo
  • 浏览: 378851 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11820
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10127
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9516
社区版块
存档分类
最新评论

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语言的一些瓶颈在何处,无法写出高效的框架,所以,才这样认为的。

 

 

 

 

 

 

 

 

 

1
4
分享到:
评论
5 楼 bardo 2011-04-27  
输入法 写道
输入法 写道
php大牛,你好
看了很多你博客上文章,感觉你对php理解很深,所以有一些问题想请教一下。
先说明一下我的情况吧:学php很长时间了,接触过ci,使用过ecshop,平时都是写一些简单的小功能。
现在每天的工作就是CRUD,很无聊,没什么意思。
想全面的学习一下,

但是不知道该怎么去继续学习,能不能推荐一些书籍或者好的学习方法呢。
谢谢

其实,PHP不外乎两个方面,一个是看PHP文档,另一个是池习面向对象的一些理论书籍,比如:《深入PHP面向对象、模式与实践》,《设计模式》《重构——改善既有代码的设计》《企业应用架构模式》等。
4 楼 输入法 2011-04-26  
输入法 写道
php大牛,你好
看了很多你博客上文章,感觉你对php理解很深,所以有一些问题想请教一下。
先说明一下我的情况吧:学php很长时间了,接触过ci,使用过ecshop,平时都是写一些简单的小功能。
现在每天的工作就是CRUD,很无聊,没什么意思。
想全面的学习一下,

但是不知道该怎么去继续学习,能不能推荐一些书籍或者好的学习方法呢。
谢谢
3 楼 输入法 2011-04-26  
php大牛,你好
看了很多你博客上文章,感觉你对php理解很深,所以有一些问题想请教一下。
先说明一下我的情况吧:学php很长时间了,接触过ci,使用过ecshop,平时都是写一些简单的小功能。
现在每天的工作就是CRUD,很无聊,没什么意思。
想全面的学习一下,
2 楼 bardo 2011-01-28  
PHP是每次请求都要初始化资源
tedeyang 写道
昨天我在想php怎么实现一个全局的FIFO队列。每来个HTTP GET都塞到这个队列中。
请问php不借助其他语言和服务器能否实现该功能?

PHP是每次请求都要初始化资源,即单一请求响应机制,这是不可能实现的。
1 楼 tedeyang 2011-01-27  
昨天我在想php怎么实现一个全局的FIFO队列。每来个HTTP GET都塞到这个队列中。
请问php不借助其他语言和服务器能否实现该功能?

相关推荐

    软件测试中的认识误区

    以下是对“软件测试中的认识误区”进行的详细解析: 1. **测试是找出所有错误**:一个常见的误区是认为测试的目标是找出软件中的所有缺陷。实际上,测试是为了验证软件是否满足预定的需求和功能,而完全消除所有...

    Java编程语言程序的认识误区.pdf

    首先,关于软件生命性的认识误区。软件生命性是指软件能够适应变化,持续进化的能力。一个好的软件架构应当具备灵活性和可拓展性,这样软件才能随着技术发展和业务需求的变更而不断进化。在分层架构中,表现层、持久...

    企业发展电子商务的认识误区辨析.docx

    企业发展电子商务的认识误区辨析 电子商务是现代信息技术与企业经营管理技术相结合的产物,是当今企业经营与发展的锐利武器。但是,企业在发展电子商务决策过程中存在种种认识误区,影响了电子商务的发展和应用。...

    人力成本的认识误区.doc

    人力成本的认识误区.doc

    LED显示屏的认识误区纠正

    文章介绍了在日常生活中,人们对于LED显示屏的认识误区。

    Java编程语言程序的认识误区.zip

    以下是对"Java编程语言程序的认识误区"的详细解析。 1. **Java是完全跨平台的** 许多人认为Java“一次编写,到处运行”的口号意味着它在所有操作系统上都能无差异运行。实际上,虽然JVM(Java虚拟机)提供了跨平台...

    软件测试简介及其常见认识误区.pdf

    ### 软件测试简介及其常见认识误区 #### 一、引言 随着信息技术的快速发展,软件已成为现代社会不可或缺的一部分。为了确保软件的质量和可靠性,软件测试变得尤为重要。本文旨在介绍软件测试的基本概念,并剖析...

    商业养老保险9大认识误区参照.pdf

    【养老保险的9大认识误区详解】 误区一:商业保险不如社会保障 很多人误认为社会保障优于商业保险,实际上两者各有特点。社保是一种政府行为,提供基础保障,但不包含人身保障功能,且受政策调整影响较大。而商业...

    百姓对保险存在五大认识误区及拒绝话术.ppt

    百姓对保险存在五大认识误区及拒绝话术.ppt

    浅析信用证认识误区.doc

    尽管信用证以其基于银行信用的特性被许多出口企业视为交易安全的代名词,但现实中,信用证并非万无一失,其在运作机制上存在着众多认识误区和潜在风险。本文旨在深入剖析信用证相关的几个常见误区,并探讨其背后的...

    百姓对保险存在五大认识误区及拒绝话术37页.ppt

    百姓对保险存在五大认识误区及拒绝话术37页.ppt

    百姓对保险存在五大认识误区及拒绝话术37页.pptx

    百姓对保险存在五大认识误区及拒绝话术37页.pptx

    对建筑物内通信电缆阻燃特性认识误区的剖析.pdf

    文章标题《对建筑物内通信电缆阻燃特性认识误区的剖析.pdf》与描述《梳理国内市场对“阻燃”概念的认识,对建筑物内通信电缆阻燃特性的认识误区进行剖析,提出需根据电缆的阻燃分级来辨识电缆的阻燃能力,以选择符合...

    浅谈对涂胶工艺认识的几点误区.docx

    涂胶工艺认识误区剖析 在涂胶工艺的应用中,存在一些常见的认识误区,这些误区可能会影响涂胶工艺的实际效果和应用范围。以下是对涂胶工艺认识误区的剖析: 一、涂胶工艺=单面胶泡棉胶条? 很多使用涂胶工艺的...

    CAE技术认识的三大误区

    元计算技术人员为大家介绍CAE技术认识的三大误区

Global site tag (gtag.js) - Google Analytics