对于我的个人业余项目和未来的编程创收活动PHP作为我的一种编程语言的选择已经从此退役了作出这个决定并不容易但是对于我热爱的编程事业的延续这是必要的你知道我可不是仅仅因为热爱编程才做程序员因为我不会干其它的
历史
一切都开始于年我年级互联网真正开始显示出魅力我想编程学习了基本的HTML我可以做出网页但我想让这些网页有更多的交互功能Perl成为了选择嵌入Apache里作为CGIPerl最初不是做这个的对于一个对UnixLinuxApache和HTTP是如何工作的一无所知的孩子我不可能配置它们让它们跑起来
最终我找了一个web主机上面所有的东西都已经配置好了我就这样可以神奇的使用了算是吧我花了数月琢磨Perl但这个东西实在让人困惑有谁还记得那些正则表达式和大堆的代码来解析请求变量获得一个$POST 和 $GET 数组?对我来说绝对是天书我拷贝粘贴假装知道自己在干什么有谁还记得恐怖的Matt’s Script Archive这个脚本吗?
#FromMattsScriptArchive if($ENV{REQUEST_METHOD}eqGET){ @pairs=split(/&/$ENV{QUERY_STRING}); }elsif($ENV{REQUEST_METHOD}eqPOST){ read(STDIN$buffer$ENV{CONTENT_LENGTH}); @pairs=split(/&/$buffer); } foreach$pair(@pairs){ local($name$value)=split(/=/$pair); $name=~tr/+//; $name=~s/%([afAF][afAF])/pack("C"hex($))/eg; $name=~tr///d; $value=~tr/+//; $value=~s/%([afAF][afAF])/pack("C"hex($))/eg; $value=~tr///d; #Buildahashwith$nameand$value} 数月后我风闻有一种语言叫PHP你只需要向服务器上传一个PHP文件一切都搞定了你直接能访问表单域里的变量它们可以跟在URL后面提交不须用正则表达式分析环境变量相当的迷人
)thiswidth=; onmousewheel = javascriptreturn big(this) alt=php logo src= width= height= />不仅访问GET 和 POST 变量是如此的容易连接数据库也是要命的简单所有的都是在Windows上?!愿望很快就成了现实有人不久写出了WAMP的安装包——因为安装Apache和MySQL仍然不是一个很轻松的事感觉就像是在天堂里了最终我开始编写能把数据存入数据库取出数据并操作它们的web应用了
当然现在知道的什么SQL注入攻击XSS攻击CSRF攻击session注入攻击或其它的流行的安全漏洞问题当时一无所知(公平的说我肯定当时整个行业都不太清楚这些东西)
但我很快的就开始编程了疯了似的我开发论坛我开发基础的网站生成器日志和内容管理系统我喜欢这些总有一些新的东西要学总有一些新的东西要做爸爸的公司给了我很多便利特别是他们的软件开发组那是一个在休斯敦的小web开发公司我有机会在里面和很多比我年长的程序员一起工作之后我开始能独自承担大的网站开发整个大学期间都在做这个甚至开发了一个总共有行代码的PHP系统提供给一个非盈利组织使用(在那时我已经知道了常见的网站漏洞并进行了修补)
Rails和Django并没有吸引走我我非常了解PHP我有自己的框架能够很快的让东西开发完成并跑起来
就这样我经历了MVC框架变革过程作为一个PHP开发者我的工作情况越来越好(更好的待遇更好的职位)但慢慢的我发现在我自己的业余时间里写出的代码非常的好可是在工作时间接触那些公司的代码却很糟糕不是一般的糟没法再糟了做这些业余项目让我保持清醒因为公司的那些程序在提醒我让我痛苦不堪
热情枯竭
这就是为什么PHP从我的业余项目和新的创收活动中退役的原因我疲倦了PHP热情耗尽了我感觉对这种语言已经达到了最高水平如果不转向新的语言对这种语言我就没什么可做的了我可不想落入这种状态
我作为一个职业PHP开发人员挣了很多钱我计划继续下去但我的业余项目和个人业务创收上将会使用其它的语言和框架
此外PHP并不强调好的整洁的编码规范有很多地方它实际是违背好的编码规范的结果你就看到了到处都是大堆的恐怖的PHP程序跟这些程序打交道简直就是噩梦新程序员可以通过阅读一些过时的速成教程很快学会这种语言他们写出的很烂的代码打包到产品里这样的水平一年就能挣到万美元我亲眼看到过这种事情发生PHP的易用和流行就像吸引苍蝇一样吸引了大量的初级开发人员
初级的程序员会认为他们把代码格式化一下加一些注释他们的代码就整洁了他们错了他们格式化的恰恰是些烂代码我在工作上整天遇到这样的代码
我作为PHP热爱者的日子结束了那么下一步怎么办?
Scala
fitimage onload=javascriptif(thiswidth>)thiswidth=; onmousewheel = javascriptreturn big(this) alt=scalalogo src= width= height= />php推荐专题