无意中看到这篇文章,有些触动,作为博客开篇,用来激励自己。
原文地址:点击打开
在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文纯粹个人的看法。你可以认为我无知也好,或者装逼也好,请不要试着在任何情况下,随便发起言语的攻击,这只是我个人的一些经验而已,你可以选择赞成或不赞成,也可以选择看与不看。
还有本人基本对这些框架中的大部分都用的时间比较长,绝对不是随便出个Hello World!就在这里评论,曾任某某底层本土公司的技术总监,某某所谓巨头公司的IOS架构师和PHP高级程序员,XX外资创业企业的项目经理,基本上在这些职位工作期间基本上对大部分这里提到的PHP框架使用的都比较深入,也曾参与或主办过这些公司的招聘,现在虽然在创业,但是人才需求也是按照本文来的。写这篇文章的目的不在于跟阅读者挑起任何语言战争,只是希望给正在路上的PHPER提供一条适合自己的道路,如果你要骂SB,请到其他处,OK?对你没帮助你可以不看的。 好了开始我的分析吧。。。
这是一个PHP语言的入门时期,也许也是你编程生涯的开始,可能你在读大学或者在培训部培训的初期,这个时候你正在吭HTML5,CSS3,JS,Jquery还有对于你现在来说最重要的,应该学的东西PHP+Mysql。这个是你建立好的雏形的良好时机,也是最容易放弃的最难时期,并且决定你后面所有的编程职业生涯,前提是你真的想从事编程职业。
常说的语言及做的事情:这个好难,太难搞了;我要考这个认证,对将来工作有帮助;找个单位实习下;接个项目练练手
对各种付费虚拟产品的态度(如付费课程,付费服务器等):买不起啊。。。学费都花了这么多,我还是找免费的吧或者能不能便宜点啊
这个时候你已经从学校或培训部毕业随之而来的劣性发展成就了这个境界,这个境界的程序员占据了PHPER人数 40%以上。为什么说是屌丝主义?经过前期的培训部速成培训(这个境界大部分是XXX100,XXX兄弟连等出来的),你基本掌握了一些国内的CMS的使用与二次开发,以及一些类似Thinkphp,Codeigniter,Brophp等低层次框架的开发,并且去一些不怎么样的所谓创业公司或者大部分去了一些企业网站制作公司做一些企业网站,小模块,小系统的开发,然后你会说我好强大,认为PHP也就全会了,做了井底之蛙。。。崇尚quick and dirty。也就是这部分在国外不存在的人导致了PHP在国内长期被Rails,Nodejs等使用者鄙视。
语言行为及特征状态:
看不懂任何英语技术,英语文档,凡事没有培训部在搞的,只有英文文档的东西国内一律没大公司在用,都非主流,排斥英文文档和新技术,以及各种超出他学习能力范围的技术。
不知道的技术一律会说,这些技术没有公司或者很少公司在用,谁要学。。。,大公司都是自己开发框架的。。。。
比如 Angularjs,Emberjs,Hadoop,Mongodb,Nodejs,Rails,Requirejs等有点极客的都没听说过,然后会认为Java,.NET这种是企业级,C语言算法才是王道,用的公司多,真正的高手用C扩展PHP的,我想说别他妈这么屌丝好吗,你个XXX,我想说请你睁眼看看世界,好吗?别动不动别人说些你不懂的就说JAVA,C算法,数据结构这些,你懂吗,你个屌丝一枚的。。。你的垃圾公司没在用,不证明其它好的公司没在用,不是大家都用TP和CI的,OK?就知道php+mysql了?
这部分人一般都是大学本科以上毕业,非培训部速成。但是由于前期也是很薄弱,学校里老师教的可能还不如速成培训部的,所以除了观念的不同,大部分实用技术不如速成培训部出来的。但是观念基本决定了后面走的路不一样。这部分人当中大部分转了IOS,Rails等技术甚至一大半都转行了,甚于一小部分进入了PHPER行列。因为在学校英文都是过了一定等级的,看基本的英文文档还是比较可以,再加上可能由于学历限制去了一些比较还可以的公司,从基础程序员甚至实习生做起,还可以的公司一般都会使用大量只有英文文档的技术,比如我以前一个同事刚毕业的时候去应聘一个新美合资PHP工程师的职位,要求就是懂Agavi框架,还要懂前端的restful框架-backbone,其实那时候backbone刚出来还不错的。然后就在试用期死啃这两个框架,因为有大量比较散的中文文档,所以终于吭懂了,以后看其它部分中英文都有点的文档等基本也可以尝试看看了,但是毕竟也能通过半英语学习了,然后进步都是很快。但是一个悲催的转折点又来了,这时候就看你的选择了。
是什么转折点呢?就是对某一个框架(这里框架只是某种技术的狭义说法)出现了比较大的喜欢程度,而且这个框架也基本中文文档不全,但是用的中小型有新意的创业型公司,外资企业,合资企业都蛮多的,薪资待遇也还不错,尤其那些不能看英文文档的人让他获得了优越感,再加上这些框架本身都是基于composer包,php-fig最新标准等发布的,并且学习使用也不是很复杂,深深的让他喜欢上了此款框架,在这个时候基本上出于已经产生的西方主义的好奇心,他已经掌握了一些类似bootstrap,backbone等简单的前端UI技术以及轻量MV*框架,这个时候也许真的是做什么项目,只要是web,他都可以做了,并且出于中小型高端企业的要求,他需要会的还有Linux服务器的各种架设比如web服务器,邮件服务器等,这个时候基本上他如果有客户资源自己都可以做产品创业了。所以转则点就是他这个时候选择不思进取(当然创业不算,因为创业者是最牛逼的),一直用他掌握的框架迅速的开发各种东西,还是学新的框架?如果是前者,将导致他永久的崇拜一个比较简单的全栈框架,然后永久的等待这个框架的新版本发布,而不会转移视线,更别说学新的东西了,这样基本上升就很困难了,比如说用larvel框架,那么别人跟你说zf2,sf2,你会说太复杂的东西不好,太复杂的东西不适合我。。。请改进一步吧,会有更尖端的东西等着你
一般这个境界的PHP程序员基本处于一种完美状态了,基本上一个人能完成一个项目所有的东西,包括前端(前端可以设计的非常潮或者说fashion),后端,已经服务器的架设优化,包括云计算底层的开发,各种虚拟化的东西,比如KVM等,基本已经掌握各种开发,但是开发经验不一定就多,年龄不会超过30,基本会各种技术,移动,底层,前端,后端,mac,linux什么的都可以拿起就玩,会用最屌的开发工具—emacs进行自己的编码,崇尚完美主义,喜欢把用户体验和架构都做的一点瑕疵都没有,比如一个颜色的调度课程都要花去他一整天的功夫,但是在团队开发面前,更能发挥出这个境界的威力,因为还没达到第五种神的境界,所以过于最求强大,不仅会带来项目时间上的硬伤,也会给项目带来超级大的成本花费,包括学员的学习成本,强大的框架需要的维护成本等等。适合在一些比较大的巨头企业或者大公司或者外资创业企业做项目领导或者首席架构等职位,单论技术,已经在PHP方面可以算是很强大了。你需要会的是学习期至少一年多到两年的symfony2框架,而不是几天就会的laravel,所以花费的学习成本是极其大的,承担的风险也大,一般在这个境界的PHP程序员,国内并不多,但是也不是很少,这个阶段的程序员一般都是从其它编程语言转过来的,比如rails或者nodejs或者Python等,但是java和.net由于本身就不符合极客的历史潮流,转换到PHP已经无法到这里了,一般直接转屌丝码农境界去了。rails或node等转过来的程序员一般都理解依赖注入,监听器,过滤器等等技术面,并且node里的npm和rails里的gem与php的composer是一样的,sf2和zf2的bundle机制也是与rails相同的,所以导致了rails程序员一转3,4个月就会sf2的情况,再加上zf2和sf2本身没中文文档,所以必须是英文比较好的才能学会,尤其sf2,有book,cookbook,refenrencebook,componentbook,bundlesbook等等,而且必须用几十个第三方bundle才能完成一个真正意义上的应用,复杂度是难以想象的,但是复杂的东西有其强大之处,比如
hwioauthbundle,fosuserbundle,fosrestbundle等,都是非常不错的,fosrestbundle中根据group加载关联推到rest,而不必全部加载关联数据就是个很不错的例子,而asseticbundle直接可以合并压缩js和css,并且基于node的组件,更是把sf2的强大发挥的淋漓尽致,但是每个bundle的学习成本基本比学整个laravel4框架难度还大,而且全是github的wiki没有任何中文,这就不但加大了技术学习成本也加大了语言学习成本,所以到达这个境界需要无比的毅力和探索的好奇心,两者缺一不可。
请注意:这种境界必须经过前面的第四种境界才能到达
这个境界不必多说,相信仁者见仁,智者见智了。第二种境界的码农会说这个连他们都不如,但是第四种境界的高手会对他们膜拜,只就是极客的魅力,只让高手膜拜。微型框架之所以有这个效应是因为你学框架本身,一晚上就会,你要用的像个极客,也许难度早已超出你的想象,是第四种境界的好几倍,比如你要restful,随随便便调用一下,symfony2的组件再通过组件调用fosrestbundle,直接就可以写rest服务器了,如果你是菜鸟,就会直接返回json,这就是微型框架高明之处,神与菜鸟就一念之隔。不多说自己体会。只有一个比喻,还记得神雕侠侣吗?第三种境界就是独孤求败30岁前用的锋利无比的剑,第四种境界就是他中年用的也是杨过后来用的重80斤却不开锋的剑,第五种境界就是他晚年用的木剑,其实是回归原始无剑胜有剑了,此时不需要什么强大的了,微型框架各种引入(别跟我最后来一句牛人自己开发框架,OK?那是傻逼产生垃圾做的东西),都是神的。。。。。。。
只能说你的薪资不低于20k了,如果是这个境界,也可以自己选择创业哦。