如何成为专业的PHP开发者

简介: 对于初学者来说,PHP之道是一个非常有用的资源,提供及时的指引。通过此书,你可以熟悉最新的最佳实践,面向对象的基本概念,安全,部署,代码标准,等等。

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

image.png

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


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


两极

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


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


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

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


缺失的一环

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

接下来的列表指出了流畅地使用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专业开发者的路上。坚持原则,永不放弃(即使周围的人放弃了),持续练习。

相关文章
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
|
2月前
|
设计模式 算法 数据库连接
PHP中的设计模式:提高代码的可维护性与扩展性本文旨在探讨PHP中常见的设计模式及其应用,帮助开发者编写出更加灵活、可维护和易于扩展的代码。通过深入浅出的解释和实例演示,我们将了解如何使用设计模式解决实际开发中的问题,并提升代码质量。
在软件开发过程中,设计模式是一套经过验证的解决方案模板,用于处理常见的软件设计问题。PHP作为流行的服务器端脚本语言,也有其特定的设计模式应用。本文将重点介绍几种PHP中常用的设计模式,包括单例模式、工厂模式和策略模式,并通过实际代码示例展示它们的具体用法。同时,我们还将讨论如何在实际项目中合理选择和应用这些设计模式,以提升代码的可维护性和扩展性。
61 4
|
2月前
|
设计模式 算法 PHP
PHP中的设计模式:策略模式的深入探索与实践在软件开发的广袤天地中,PHP以其独特的魅力和强大的功能,成为无数开发者手中的得力工具。而在这条充满挑战与机遇的征途上,设计模式犹如一盏明灯,指引着我们穿越代码的迷雾,编写出更加高效、灵活且易于维护的程序。今天,就让我们聚焦于设计模式中的璀璨明珠——策略模式,深入探讨其在PHP中的实现方法及其实际应用价值。
策略模式,这一设计模式的核心在于它为软件设计带来了一种全新的视角和方法。它允许我们在运行时根据不同情况选择最适合的解决方案,从而极大地提高了程序的灵活性和可扩展性。在PHP这门广泛应用的编程语言中,策略模式同样大放异彩,为开发者们提供了丰富的创作空间。本文将从策略模式的基本概念入手,逐步深入到PHP中的实现细节,并通过一个具体的实例来展示其在实际项目中的应用效果。我们还将探讨策略模式的优势以及在实际应用中可能遇到的挑战和解决方案,为PHP开发者提供一份宝贵的参考。
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
46 2
|
2月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
3月前
|
安全 编译器 API
【颠覆想象!】PHP 8横空出世:全新特性重塑Web开发格局,开发者必看的革命性变革之旅!
【8月更文挑战第7天】PHP 8通过引入一系列创新特性和改进,不仅提升了开发者的生产力,还加强了PHP作为现代Web开发语言的地位。随着PHP社区继续推动语言的发展,我们可以期待更多令人兴奋的变化。
57 0
|
6月前
|
PHP 开发工具 开发者
PHP 8.1的新特性及其对开发者的影响
PHP 8.1作为最新版本的PHP,引入了一系列新特性和改进,包括联合构造器、enum枚举、非阻塞stream_select()函数等。本文将深入探讨这些新特性,并分析它们对PHP开发者的影响,以及如何充分利用这些特性提升代码质量和开发效率。
|
6月前
|
缓存 PHP 开发工具
PHP 开发者该知道的 5 个 Composer 小技巧
PHP 开发者该知道的 5 个 Composer 小技巧
|
6月前
|
消息中间件 PHP 开发工具
阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档可以在阿里云开发者门户中找到
【1月更文挑战第22天】【1月更文挑战第108篇】阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档可以在阿里云开发者门户中找到
124 6
|
PHP 开发者
《阿里云栖开发者沙龙PHP技术专场-静态扫描为你的项目上线保驾护航-周梦康》电子版地址
阿里云栖开发者沙龙PHP技术专场-静态扫描为你的项目上线保驾护航-周梦康
182 0
《阿里云栖开发者沙龙PHP技术专场-静态扫描为你的项目上线保驾护航-周梦康》电子版地址