10-8-22 php 语言,也就那样了
话说我还以前从来还没有这样正视过php.虽说之前也学过一点php.不过也是冰山一角而已.对php的印象也只是这是用C语言实现的网页开发语言,开源、跨平台、有很多基于它的免费著名的项目。
前段时间php发布了5.3.3版本,我的论坛(基于discuz! 7.2)一下子不能用了,面对discuz!团队对于这等突发事件缓慢的反应。我便决定把论坛迁移到其他的论坛架构上去.
其间搜索了不少关于phpwind、discuz!、phpbb 等之间的比较,最后锁定了phpbb.也就是这时,看到了一些关于discuz! 论坛架构代码冗余、代码重用性低、效率不好之类的诟病.
按说像康盛创想这样的大公司,说的出“技术从来不是瓶颈,创新是我们一直的动力”这样的口号,做出的东西不应该有这样的硬伤阿,不过想想也对,如果不是没有按照低耦合的模式来,底层改起来的确够麻烦的(从php 5.3.3 开始类里面的同名函数不作为构造函数了).
这时候我就开始觉得php太懒散了.也真是它的易用性,导致开发者想怎么写就怎么写,比如那个变体函数(魔法函数),想想就害怕.
前端时间被公司派到另外一家公司,以外援的身份参加了一个门户网站项目的开发,是一个基于discuz! 下ucenter的项目.我主要负责视频模块.在那边呆了2天,话说我的模块早已完成。闲来无事便顺便看了看他们的项目,这也是我第一次看一个完整的php项目.
话说看的很吃力,注释少的可怜是一个原因,另外一个原因就是php模块的东拉西凑.比如里面有个好像是处理用户登录后的操作的类(姑且算他是类吧,其实我更感觉是一个请求转发器).原理是根据“ac"(应该是action的缩写……)载入不同的页面,执行不同的操作.
本来这个页面应该可以写的更简洁一点,可是里面充斥了大量的if_else 块.嵌套层数估计不下于10层.如果业务要求不得不得如此的话,还则罢了.
更恶心的是对于一些外来参数处理的函数通通写了进去.更有甚者,我貌似还在里面sql语句的声明.真的是……这个类就是传说中的上帝类(God Class)?因为它已经包办了一切.
很难想象,在实现功能的同时,这些开发者是否能考虑下未来的可维护性?可读性?
殊不知,一个正常的函数/方法体不应该超过百行.评价优质代码的标准不是看自己满意否?而是别人.
可是,是谁造成了这种状况?是php.是php 没有标准、没有规范的写法.给了他们方便.我不得不说,这样的代码真的如同老太婆的裹脚布一般,又臭又长.
而我在用记事本打开后,就如看天书一般.囧rz
当然我知道,php 大家庭里面有很多像wordpress、drupal、phpmyadmin 这样的国际知名项目.他们的代码结构如何我不清楚.不过wordpress的我倒有看过一些.怎么说呢,wp里面会专门有这样一个文件夹叫classes 来存放一些基类或者工具类这样的,不过我还是不能忍受在页面里面出现sql语句.当然可能只是个别.
wp总体来讲还是体系严谨的吧,毕竟是这么多人在维护.不然的话我真得不知道wp的作者matt是如何说出“代码如诗”这样的话来.呵呵,那不是自己给了自己一个耳光么?
总而言之,php 还是没有一个明显标准(据说有本书叫thinking in php,有空看看.据说有个框架叫 Zend Framework),我是这样想的,如果一个人在接触php之前有学过其他编程语言(非脚本语言),他可能会感觉不习惯、别扭.
而如果是一个完全的新手的话,则会很快的入门.说不定能在短时间内开发出一套实现了CRUD的简单博客系统.
呵呵,就是这么个大概情况.不过近些年LAMP大行其道确是实事.php 势头还是很猛的呵呵~
对,我就是一个完全的新手,觉得php挺好。
p.s.我的服务器其实就是康盛托管的,当年本来想建论坛,后来改建博客的。至少他们数据服务还说得过去,没给我惹麻烦。
一个多变但很自由的的语言?咱其实也想好好的学习一门。
500的问题很严重额。提交3次才成功。。T.T...
有如此毅力,我很感动……
我被人忽悠到DZ去了 打心底讨厌DZ
“Firefox 无法建立到 xiazhenxin.cn 服务器的连接”
打酱油来的······
博主过于鸡冻了。。。。不是php嫩,而是我们这些所谓的“程序员”嫩!至少我是这么觉得。。。
伟哥是想表达“没有垃圾语言,只有垃圾程序员”的意思?可是php的松散确是不可回避的事实~
而且有越来越多的人逐渐从一味追求php的狂热中觉醒了 :)
哈哈。小鑫兄自己的URL有误
xiazhengxin.com.cn
那是我以前的域名,一直没改.因为此域名我还是要拿回来的.
说的php,那些人,一定要从基础开始,然后,就是去学C
没有带类过来学去
或是教科书上的
我想现在学php完全可以从模板,然后oop开始学
简单快,到时候学的内容又不一样了!
还在提醒一下楼主,不要用记事本写php
嗯 也就那样了,哈哈
笑
http://j.hgmayou.com/ 桔色