本文作者Bruno Skvorc是一名资深的Web开发者。在这篇文章里主要是讲述成为一名专业的PHP专家所要经历的过程,以及在这个过程里要如何学习掌握技巧和对工具的舍取。(以下为编译内容)

  当阅读各种和PHP相关的博客、Quora问题、Google+社区、资讯和杂志的时候,经常会注意到在技术上出现两极分化的现象。问题均围绕在“我如何连接到一个MySQL数据库?”,或者是“我如何使得邮件系统能够每小时发送超过一百万份电子邮件,在不引入一个新的服务器的前提下?”这样的范围内。

  通过分析研究,可以根据对PHP的使用能力将应用者分为四类:初级、中级、专业和精英。

  在极端情况下

  使用PHP语言,初级者会学一些变量、include()包含文件、表单处理。还会学一些逻辑架构,就连发送一份邮件也要借助教程,即使是点击面向对象编程的案例的时候也不一定真正理解它的运行原理。

  PHP专家每天都会花很多时间将PHP应用于各个项目中,比如商业应用或者各种需要数据库和PHP相结合的应用。此外,这些专家还会参加各种研讨会,学习设计各种各样的模型,并且很容易就开发出一个完整的项目——从图表设计到最后执行。关键一点是他们早已不再拘泥于程序式的代码编程了。

  精英程序员就是传说中经过10000+小时技术磨练的专业PHP人士,他们通过自己编写扩展来扩充PHP的开发功能,更牛的是,他们只要粗略的浏览一下源文件就能找出bug,对代码布局可以说是相当的细致。他们能够创造出最复杂的项目,在别人还没发现问题之前,他们就已经找出可替代的完美方案了。除此之外,他们还会写一些比较受欢迎的PHP语言类的书本,参加各式研讨会,创建一个非常成功的框架也是不在话下的。

  关键环节

  一个程序员如何从初级者转变到专业者或者更厉害的角色呢?如果一个人只会基础的编程知识,那基本上是不可能有所提升的,更别说去运用一些更先进的技术方法了。要想成为一个专业的PHP程序员,首先要做的就是成为一个中级PHP程序员。

  接下来的这个列表就是初级者需要经历的过程——熟练使用PHP的过程。

  放弃意大利面式代码

  很多人认为使用类就意味着是在编写面向对象的代码,而使用函数就意味着是在编写过程式代码。其实这是大错特错了,先来假设一下广泛的vanilla定义:过程式代码就是不需要使用类和目标的代码,OOP代码就是尽可能多的使用类和目标的代码。

  这里的建议是完全放弃过程式代码,尽可能多的使用面向对象的编码风格——编写类,封装逻辑,考虑真实的术语。建立在类代码基础上的过程式代码的性能优势,在和重实用性的OOP代码相比是微不足道的,适当的OOP代码可以让未来的开发者继承你的项目。

  仔细分析现有项目

  不管你是在哪里看到的源代码,都要仔细钻研。例如,在Github里查找PHP项目,复制下来,部署在自己的设备上,试着结合自己的代码来运行这一项目。一个文件接着一个文件,一行代码接着一行代码,直到你真正理解每个代码的意义。

  创建自己的PHP环境

  创建自己的PHP环境也是一种很珍贵的技能。这不仅能让你熟悉PHP的安装设置,还可以让你熟悉如何通过修改源码来实现功能扩展。

  虚拟机和虚拟化软件也可以帮你做实验——如果出现了错误,你可以擦掉重新开始或者做一个回滚。也可以尽可能多的在字面上进行测试实验,而不用担心弄的太乱。掌握工具的使用方法是很重要的,但有一个好的工作台也是同等的重要。

  用你自己创建出来的设置做实验亦可让你熟悉不同的服务器——例如什么时候要用Nginx或Apache,或者是使用Appserver等等。

  尽早应用最佳实践

  在编写自己代码的时候,要确保对自己的文档块严格注释、完美缩进、仔细完成架构。在构建一个类,项目或类库之后,使用性能优良的文档工具(PHPDocumentor,ApiGen)来提取文档块,并在这个文档块上进行改进。

  早一点适应最佳实践能够帮助你在项目进程里保持一致,更有助于别人流利的阅读你的代码。找到你的风格并坚持下去——这对你自己和别人都有好处。

  尝试不同的框架

  有很长一段时间,PHP是一个具备最多框架的编程语言,不管这一说法在技术社区和语言界的影响力如何,但事实是,选择一款框架是一个很纠结的事情,尤其是在刚开始的时候。

  经过对大多数框架的长时间试用,这里衷心推荐Phalcon作为主力框架,主要源于其在稳健性和质量方面的优秀表现,事实上Phalcon是用C语言编写的,而且可以当作是PHP扩展框架安装。无论如何,尝试使用不同的框架绝对是很有必要的。

  大量阅读资料

  千万不要低估了别人给你的暗示和小建议(无论是在书上还是在工作中),尽可能多的阅读各方面的编程知识。阅读博客、教程、在StackOverflow上面阅览问答、订阅资讯杂志等等。但是要避免基础的PHP教程书本,最好是专注于网上有用的、最新代码的个别片段和教程。即使是已经读过的内容也可以再读几遍,一定能从别人的观点里领悟出新的想法。

  结论

  除此之外,在无事可做的时候,不妨自己创建一个项目:觉得日常使用的App功能太少了,自己创建一些辅助功能,或者尝试着重建一个基础的Facebook。千万不要放松,保持自己的创造力。另外,你还可以找一个同伴/导师,相互学习的进步速度总比闭门造车的速度快很多。

  当你真的专注于实践上面所提到各种方法的时候,你也许就在成为PHP专家的路上。

  原文:Sitepoint

怎么才能成为一名PHP专家?相关推荐

  1. python程序员工作怎样-怎样才能成为一名Python程序员

    随着互联网的不断发展,从事IT行的的人越来越多,近几年用Python编程的程序员更是十分火爆,有些人是看中Python语言的优势,有些人是看中Python程序员的人才缺口,为将来的就业和职业发展做好准 ...

  2. 成为一名PHP专家其实并不难

    摘要:初级.中级.专业和精英在PHP的使用上明显是不一样的,人人都想成为一名优秀的PHP专家,当然,罗马不是一日建成的,从初级者到专家需要经过什么样的过程呢?精选代码.分析项目.创建PHP环境.尝试不 ...

  3. 如何才能快速成为一名Java架构师?

    如何才能快速成为一名Java架构师?很多程序员从业2-3年后都会进入一个迷茫期,或是瓶颈期,不知道如何进一步提升成为一名Java架构师.解决这个问题其本质是知道如何学习才能快速成为架构师. 接下来我们 ...

  4. ta leader是什么岗位_阿里专家:如何成为一名“值得跟”的Leader?

    有时会听到小伙伴,吐槽自己的现任或前任直接主管.随着工作时间和经验的增长,每每看到这种吐槽,我就会反思,假设有一天我是那位被吐槽的主管,我就一定能做的更好吗? 图片来自 Pexels 如果自己不敢 S ...

  5. 如何成为一名IT咨询顾问?

    咨询顾问这个工作,很多人都很羡慕,在别人看来咨询顾问的工作时间自由,可以到处出差和旅游,能够认识企业各种层面的人,见多识广.实际情况真的这么轻松吗?什么样的人适合做咨询顾问?做咨询顾问需要什么样的素质 ...

  6. 如何成为一名Top DevOps Engineer

    软件世界的战场 如果你对devops的概念不是很了解的话,没有关系,可以先跳到维基百科阅读一下DevOps条目.有了模模糊糊的概念之后, 我们先抛开所有市面上对于devops的各种夸大和炒作,首先来思 ...

  7. 如何成为一名“优秀”的商业分析师

    本文转自知乎 作者:空白白白白 ----------------------------------------------------- 开头,我真诚的希望你能耐心看完这篇文,以下是我从一个BI工程 ...

  8. 如何成为一名oracle DBA

     DBA收藏 <script type="text/javascript"></script> http://sunmoonking.spaces.live ...

  9. java里面如何加入高级的东西_如何成为一名Java高级架构师

    近些年来互联网快速发展,现阶段的数据量和高并发的诉求,引起了不少传统的技术人员的力不从心,企业愈发关注到了系统架构的重要性,既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的领导型人物 ...

最新文章

  1. 2016年第七届蓝桥杯C/C++ A组国赛 —— 第一题:随意组合
  2. C#中主窗体Panel中加载其他多个窗体Panel控件
  3. anaconda进出某个环境
  4. 大数据之_亿级分布式日志管理ELK_工作笔记001_ELK认识介绍
  5. C++字符串拼接效率比较(+=、append、stringstream、spintf)
  6. linux识别罗兰声卡,罗兰系列声卡直播K歌模式调试方法
  7. 安全扫描利器-xscan3.3中文版
  8. 常见AutoCAD病毒(acad.fas、acad.lsp)清除方法
  9. 解决禁用IE设置代理检测不通过连不上网
  10. excel2007加载宏的两种方法
  11. android packageManager用法
  12. 中国数字校园建设市场全景调研与投资发展战略分析报告2022-2028年版
  13. ug中文字大小设置_ug10.0工具条字体大小如何修改?
  14. 3ds Max Taper、Twist和Bend的运用——衣架的制作
  15. BZOJ 1406 [AHOI2007]密码箱 数论
  16. 利用虚拟机virtualbox配置智汀家庭云,让米家设备连接Homekit
  17. day01 HTMLCSS
  18. 安装Ubuntu15.10后要做的事
  19. 趣味点名软件_新老师必学之趣味点名游戏
  20. Cad2008 注册证书问题办法

热门文章

  1. lucene全文检索mysql教程_对于数据库里的多张表怎么利用lucene等实现全文检索
  2. 织梦怎样调取mysql_如何实现dedecms外部数据库调用
  3. 目前计算机应用最广的领悟是,最新职中计算机应用基础期中考试试题及答案
  4. python3 beautifulsoup_Python3中BeautifulSoup的使用方法
  5. 使用si ob 导出,导入部分表
  6. 心语收集8:若无缘,与之言多,亦废。若有缘,你的存在,就能惊醒他所有的感觉。...
  7. VB 超简单的屏幕截图代码
  8. VB制作OCX控件的步骤
  9. 成立十个月,融资五个亿,创新奇智完成超4亿人民币A轮和A+轮融资
  10. MIT机器人闭上眼睛,靠触觉也爬得上凶险的楼梯 | 施工未完成