原地址:http://www.phpchina.com/html/61/31261-15911.html

现在有一个明显的趋势让PHPer必须清醒地认识到自己无论如何被分配在两大阵营中,别无选择:

要么是开发框架,要么是开发应用程序。

乍看之下会有人骂这个说法是***子放P,本来就没有第三种,你不是就说了一句:“人有两种:男人和女人”。

这是个定义的问题,我也可以说人只有两种,好人和坏人,那有人要问,不好不坏的人算什么?

很简单:坏人。

人以好坏的标准和以性别的标准来区分是不同的,因为,我们没有办法把阴阳人归到男人或者女人当中,这类人是极个别的另类。

以此类推:PHPer有两种:优秀的和不优秀的,如果有人要问,有点优秀又带点不优秀的,算什么?

很简单:不优秀。

这与把人分成好人和坏人的标准有点类似,回到今天的主题:PHPer如何成长发展?

题目给出了我的答案,先把自己归到一个类中,你是优秀的还是不优秀的?

优秀的,去写框架,再把框架给不优秀的人去用。

不优秀的,老实点,拿个框架去用用吧。

讲一句跳出PHP(森林)进入到其它区域如JAVA或C(海洋或城市)的题外活,我下载过一次PHP的源代码,再没有下载第二次,我不敢了,对我来说,那是一个无比高深的领域(尽管读大学时我的C成绩是九十多分)。这个领域属于神的范畴。我要证明的是:没有哪个哥们会说学PHP是为了将来写PHP吧?

我敢保证:学PHP的人也没有几个是为了写框架的。

他们学PHP,是为了写应用程序的。

结了,要写应用程序,又回到我的主题上来,拿个框架用用吧。

有人不满了,说老子从来不用框架!

可是你算老几?在PHP的森林里,你连个蚂蚁也算不上!不用框架写应用程序的人都只是PHP森林中的食草类动物,在弄点青草提心吊胆地把自己的肚子弄饱的同时,还要担心皮肉会否成为哪只狮子老虎的早饭。

因为什么?让不用框架的你如此脆弱?

太多的元素了!你的程序没有结构,好象堆在地上直不起腰来的一堆烂肉;你的代码象一堆乱草,就算藏满珍宝也无人能够找到;你的ORM部分单薄得经不起一点风吹草动;界面不能修改否则只能另起炉灶;一旦多了几个点击,秀页面慢得象蜗牛让人无法忍受,而且当抱怨砸到你头上时你对于如何修改束手无策还骂他妈的 SMARTY也不过如此!

凡此种种,跳出来吧,用个好框架治一下你内心的伤痛吧!

不要以为框架是别人做出来玩的。那是对PHP以及其他相关种种软件技术的提炼,没有修为和多年的浸淫是做不出来的。

在此我要驳斥那些说看过(就算精通吧)某本基础入门编程书的人就达到了中高级水平的说法,那纯粹是误人子弟。没有实战的证明哪能说你是中高级水平了呢?中高级的标准是你订的吗?

打个比方来说明这个观点:某本编程书,就好比是一本英语词典或者语法手册,退一步,再加你一本经典范文,把这三样东西搞好就能精通英文了,就达到英语的中高级水平了,鬼也不信的谎话!

PHP和英语一样,是不能创造的, 也是不能速成的,涉及那么多的软件技术和互联网技术,那能有大力丸吃?

PHP和英语一样,是有方法可依的,什么是方法?就是一种遵循的原则,这个原则的核心就是学习优秀源代码,有质量地积累到一定的程度。也就是熟读唐诗三百首的理论

三百首,其实是“很多首”的转义,就是要多,“熟读”强调了质量标准,不能走马观花,要扎实,“唐诗”代表经典,表示你不能眉毛胡子一把抓,要取用精华。

PHP 中的“唐诗”在哪里?就在优秀的框架里,同样实现一个功能,框架上升到了理论的高度,集中了世界上优秀PHPer的集本智慧,拿一个来用,先不要看它的源代码,把它一步一步掌握得很熟练,用到你的应用程序中,这样你的系统就不再是一堆烂肉而是有骨胳支撑了。用框架中包含的好的对象方法去实现所有的功能,比比自己写的和框架中的差距到底在哪里?认真地用这个框架写上几个系统,比如电子商务,博客,论坛,CMS,在学习和使用的过程中,碰到不会的,不理解的,抓一本“字典”来用用(字典就应该是这么用的,而不是光拿本字典来背)。

   把框架用到烂熟了,就到了看看葫芦里卖的什么药的阶段了,打开来,细细地研读,分析,这个时候,你就处在编写PHPer应用程序这个群体的上层了,如果有兴趣成为编写框架群体中的一员,这时才是你的新的起点。如果不愿意做制造工具的人,你也应该理解支撑框架“优秀”名声背后的技术,否则是不能把框架的功能发挥到极至的。

在此也要给国内正在制作或将要制作框架的人提个醒:第一,编写你们的框架时,要尊重开源的游戏规则,要取之有道;第二,要在框架中使用别的优秀成果,以使你的框架更强健。现在国内的框架很强调易用性,但是健壮性呢?在发明了很多看似时髦的新技术名词时,是否想到会否太偏离整个PHP技术的大家庭呢。

在最后,以这样的一个感慨结束本小文:

读书的时候,感觉到C是如此伟大,那时觉得有指针的东西才是上品。也曾经发誓要用C来写操作系统。现在,全世界数以亿计用C的代码在机器里运行,而我连用C写个“Hello world”也已经不会了。

当全世界的机器里运行着数以亿计的PHP代码时,希望我的程序在框架的帮助下也会在几个曾至几百个机器里优秀地运行着,而不是只在我自己的破机器里“戛吱戛吱”地一遍又一遍地显示“Bye world”。