如何成为专业的PHP开发者

如何才能成为一名专业的PHP开发者?资深Web开发者Bruno Skvorc其博客上分享了一些心得php

php

当阅读各类和PHP相关的博客、Quora问题、Google+社区、资讯和杂志的时候,Bruno Skvorc注意到讨论的问题出现了两极分化的现象。例如“我如何链接到一个MySQL数据库?”,或者是“在不增长服务器的前提下,我如何使得邮件系统可以每小时发送超过一百万份电子邮件?”html

Bruno Skvorc根据对PHP的使用能力将应用者分为四类:初级、中级、专业和精英html5

两极

在PHP语言中,初级用户会用一些变量、includes、表单处理,等等。还会学一些简单的逻辑结构。借助教程他们能用PHP发邮件,甚至他们可能接触到一些面向对象编程的例子,固然他们不必定理解背后的原理。他们使用WordPress,修改一些CSS类。他们凭着这些知识去申请工做,而后很不幸地被拒了。jquery

PHP专业用户能让不少项目焕发生机。他们使用众多框架开发商业应用,高效地使用各类不一样的数据库,参加各类研讨会,学习各类设计模式,很轻松地开发出一个完整的项目——从流程设计到最后运行。他们早已再也不使用过程式编程范式了。git

精英程序员就是传说中通过10000+小时磨练的专业人士,本身编写扩展来扩充本身部署的PHP的功能,只要粗略地浏览一下源文件就能抓出bug,对代码布局极为讲究,只承认极为复杂的项目,在别人还没察觉以前就找到解决问题的创造性的替代方案。他们还会写一些畅销的关于PHP语言的书籍,在大量研讨会上发言,甚至建立一个属于本身的PHP分支或者一两个很是成功的框架。程序员

那么,那些中级用户在哪里?github

缺失的一环

一个程序员如何从初级升到专业级甚至更高?若是一我的只会基础的编程知识,他如何提高本身的技能,舍弃糟糕的实践,使用高级的方式实践呢?初学者常常问Bruno Skvorc这个问题。要想成为一个专业的程序员,首先要成为一个中级PHP程序员。mongodb

接下来的列表指出了流畅地使用PHP须要注意的一些方面:数据库

放弃意大利面式代码

不少人认为使用类就意味着是在编写面向对象的代码,而使用函数就意味着是在编写过程式代码。大错特错!让咱们复习一下普遍意义上的定义:过程式代码就是不使用类和对象的代码,面向对象的代码就是尽量多地使用类和对象。编程

Bruno Skvorc的建议是彻底放弃过程式代码。尽量多地采用面向对象风格——编写类,封装逻辑,考虑真实世界的术语。考虑到可复用性,过程式代码相对于基于类的代码的性能优点微不足道。适当的OOP代码可让将来的开发者接手你的项目。一般人们会这么反驳:“可是,WordPress但是过程式的!”老实说(也许很差听),若是WordPress的开发者是PHP开发者的话,那Instagram的开发者可就是摄影师了。这并不意味着WP没什么用——对于博客、简单的网站和一天项目而言,WP很棒。用WP能很快地赚些小钱,对不太懂技术的用户而言也很好用。可是精通WP毫不意味着你是一个专业的PHP开发者——那就是一堆意大利面同样的代码,那些代码可无法教会你合理的设计原则。

从小事作起。思考现实世界的概念,尝试用面向对象的代码表达它们。学习一些基本的教程,再慢慢向高级方向发展。练习面向对象编程直到你真正理解类。在此以前,不要急着去学习各类框架,以及 MVC 之类的抽象术语。

钻研现有项目

无论你是在哪里看到的源代码,都要仔细钻研。例如,在Github里查找PHP项目,克隆下来,部署在本身的机器上,尝试加以修改。一个文件接着一个文件,一行代码接着一行代码,直到你真正理解它们的意义。

学习搭建的PHP环境

搭建PHP环境也是一项宝贵的技能。这不只容许你调整优化本身的配置,还可让你熟悉如何经过源码构建插件。

别用Windows开发——若是你的主要桌面是Windows,你须要安装一个虚拟机软件,而后运行一个Linux虚拟机——Windows的大小写敏感,行结尾,和大多数服务器环境不一样的怪异之处,都会给你形成麻烦。因此最好在一个和服务器类似的环境下开发。

虚拟机也有利于实验——若是出现了问题,你能够从新开始或者回滚一下。你也能够尽情实验,而不用担忧把一切搞砸。掌握工具的使用方法是很重要的,但有一个好的工做平台也一样重要。

用你本身搭建的环境作实验也可让你熟悉不一样的服务器——该用Nginx仍是Apache,或者使用Appserver,等等。

尽早应用最佳实践

在编写本身代码的时候,要确保详细注释完美缩进、仔细架构。在构建一个类、项目和库以后,使用知名的的文档工具(PHPDocumentorApiGen)来提取文档,并在此基础上加以改进。

一个好的IDE是很宝贵的,熟悉一个跨平台的编辑器有利于你在架设新环境后立刻进入代码,而不是把时间浪费在设置键盘快捷键和主题上。确保你将IDE配置文件保存在云端,(例如Google Drive),这样即便你新安装了系统,你也能够很方便地导入它们。Bruno Skvorc推荐PHPStormNetbeans这两个跨平台的IDE,后者是免费的。

早一点适应最佳实践可以帮助你在项目进程里保持一致,更有助于别人流利地阅读你的代码。找到你的风格并坚持下去——这对你本身和别人都有好处。尽量严格遵循PSR标准(PSR-0PSR-1PSR-2PSR-3)。标准可不是徒有虚名。大部分人遵循这些标准,喜好这些标准,由于它们增长了每一个人的代码的可复用性和可读性。

对于初学者来讲,PHP之道是一个很是有用的资源,提供及时的指引。经过此书,你能够熟悉最新的最佳实践,面向对象的基本概念,安全,部署,代码标准,等等。

尝试不一样的框架后作出选择

好久以来,PHP是一个具有最多框架的编程语言(JavaScript最近已经遇上了)。很难说这究竟是意味着社区的分裂仍是语言的流行。但事实是,选择一款框架是一个很纠结的事情,尤为是在刚开始的时候。

试用了大多数框架以后,Bruno Skvorc推荐稳定优质的Phalcon框架。其实Phalcon是用C语言编写的,能够看成PHP扩展安装,所以比现存的框架都要快。不管如何,尝试使用不一样的框架绝对是颇有必要的。

当你尝试不一样框架的时候,你每次都能学到解决常见问题的新方式。每一个框架都有本身的特性和坑,可是最重要的是,你能学到别人(主要是框架开发者)的思路。你将接触新的用法和方式,用全部你能找到的框架重构你的项目是一个很是好的练习。这将帮助你有效地衡量某个特定框架的效率:开发的速度和性能。

阅读

千万不要忽略别人给你的提示和小建议。尽量多地阅读。订阅好的博客,阅读网站上的教程,在StackOverflow上面阅览问答,订阅邮件列表,关注Google+上的优质资源。可是要避免PHP基础教程类的书本,它们很快就会过期。相反,要关注网上有用的、最新的代码片断和教程。即便是已经接触过的主题也能够再读一遍,经常能从别人的观点里领悟出新的想法。

若是没有工做,那就发明一些出来

有事情可作。永远别对本身说:“我没有一个项目。”更别对本身说:“我很无聊。”若是你找不到什么项目作,那就开一个新的。你是否是由于每天使用的工具缺少某个功能而沮丧?作一个更好的替代品!没有新产品的创意?那就重复已有的创意——尝试重建一个基本的facebook,从新建立一些你已知的项目来练手。

最重要的是永远别停——若是你停下了,就不会有惊人的一万小时了!持续地工做,维持本身的兴趣,持续投入。作一个简单的地址薄应用。而后用别的框架重构一下。而后再换个数据库(好比将 MariaDB 换成 Mongo)。保持忙碌!

找一个伙伴或者指导者

和人合做学习起来更容易。寻找一个和你同样有激情的伙伴。也许你是少数好运气的人,能找到一个能和你分享极客兴趣的伙伴。也许你在学校里,能找到一个想开始学习也须要伙伴的同伴。你甚至能够找一个指导者,接受一些专业指导。

永远不要低估陪伴的力量!

结论

当你专一于实践上面所提到各类方法的时候,你就在成为PHP专业开发者的路上。坚持原则,永不放弃(即便周围的人放弃了),持续练习。

原文 ecoming a PHP Professional: The Missing Link

编译 SegmentFault

相关文章
相关标签/搜索