最新文章
泰课在线 | 微信拼团成功后如何获取课程?
08-09 17:57
Unity教程 | 使用ARKit为iOS开发AR应用
07-31 17:23
Unity Pro专业版7折订阅四选一工具包之VR开发与艺术设计
07-28 11:47
网友使用虚幻UE4实现CAVE 多通道立体渲染的沉浸式环境
07-27 11:57
VR晕动症调查:未来5年内大部分VR晕动症将得到解决
07-27 11:26
AMD CEO:未来3-5年最重要 希望5年达1亿VR用户
07-27 10:44
成为一名PHP高级工程师应该具备些什么
PHP(超文本预处理器)具有开发速度快、运行速度快以及技术学习快等优点。它可以嵌入到HTML语言中,相较于其他语言,编辑简单、实用性强,更适合初学者。那么,成为一名PHP高级工程师应该具备哪些能力呢?
一、平静的心态
和所有程序员一样,要写出高质量的程序,良好的心态至关重要。在遇到问题时,不可急躁,更不可轻言放弃。
在程序开发过程中,尤其是初中级程序员,编写的程序或架构往往会遭遇诸多问题。其中一些问题看似简单甚至有些“弱智”,而有些问题则是从未碰到过的。此时,不能过于急躁,而应逐个排查问题的根源并加以解决。以急躁的心态进行系统开发,是对项目的不负责,因为急躁会让人选择将就和逃避问题。
以我个人在北京两年的简单生活经历为例,最大的收获之一就是让我的心态更加平静。我相信,这样的心态也有助于提升你在其他方面的处事能力。将心态列入成为PHP高级工程师的必备条件,是因为与销售岗位需要激情澎湃不同,程序员需要静下心来思考问题。
二、一套烂熟于心的问题解决思路
曾经有位程序开发的同事在QQ签名中写道:“每解决一个bug,就给自己一个提升。”的确,没有真正解决过无数bug或问题的程序员,称不上专家,也不能称之为高级程序员。高级程序员正是在解决问题的过程中不断历练自己,形成一套成熟的问题解决思路,从而让自己变得强大。
下面简单列举一些PHP程序员成长过程中经常遇到的问题。如果你一个都没遇到或者很少遇到,那么你可能处于两个极端:要么是初级入门阶段,要么已经是高级程序员了。
- 编码问题:不同编码格式可能导致字符显示乱码等问题,需要正确处理编码转换。
- PHP和SQL数据库执行效率问题:优化SQL查询语句、合理设计数据库表结构和索引,以提高数据查询和处理的效率。
- Session和Cookie域和加密解析问题:确保Session和Cookie的安全性和有效性,防止信息泄露。
- 程序的执行顺序问题:理解PHP代码的执行流程,避免因执行顺序不当导致的逻辑错误。
- 程序编写的多环境适用问题:程序需要在开发、测试、生产等不同环境中稳定运行,要考虑环境差异对程序的影响。
- 分类的构建和结构设计问题:合理设计程序的类和结构,提高代码的可维护性和可扩展性。
- 字符串处理问题:可以使用正则表达式或简单的PHP字符串处理函数来处理各种字符串操作。
- 各种模板引擎的编写局限性问题:了解不同模板引擎的特点和局限性,选择合适的模板引擎来提高开发效率。
- PHP和web端数据交互问题:如使用ajax进行异步数据交互、调用接口获取数据等。
三、过硬的PHP基础知识
即使心态再好、问题解决能力再强,如果没有过硬的PHP基础知识,也只能是纸上谈兵。扎实的基础知识能让你在项目开发过程中得心应手。
以下是PHP工程师应具备的一些基础知识(这些在招聘需求中很常见):
- 语法规则:这是入门的基础,如果不熟悉语法规则,就需要购买相关书籍或在网上找资源进行学习。
- MYSQL各种sql语句的写法:除了基本的增删改查操作,还需要特别熟悉
in()、union、left()、left join、as、replace、alter table、where的字段排序以及各种索引建立的方法。 - 环境搭建:要会自己搭建LAMP环境(Linux + Apache + MySQL + PHP)和WAMP环境(Windows + Apache + MySQL + PHP),使用集成软件一键式安装不算。开发程序时,必须清楚自己开发环境的构建结构,这样才能在出现问题时进行排查。至少要会使用独立的msi文件来安装所需的开发环境,安装3 - 5遍成功只能算基本合格,还需要会安装各种扩展、配置apache服务,了解各种参数设置的位置以及如何进行参数设置,同时要掌握Linux操作系统的基本命令。
- 熟悉web方面的其他程序:PHP不是一个完全独立的技术,它需要与其他语言和要素配合来完成项目。因此,需要熟悉HTML、JavaScript、jQuery、XML、HTTP协议、正则表达式等相关知识,否则在团队协作过程中会非常吃力。
四、综合的互联网应用及项目管理知识和素养
1. 见识广博,擅于学习
如果只专注于自己钻研,而不了解他人的做法,就会像井底之蛙一样,难以看到广阔的技术天空。因此,不要只埋头编程,要学会抽出时间研究一些大型开源系统的架构思路以及大型商务网站的构建方式,从中学习并弥补自己的不足。
例如,至少要了解不同类型的开源系统,如Uchome、dede、phpcms、wordpress、discuz、帝国等。通过学习这些开源系统,你会总结出一些常规的思路,如缓存机制、模板机制、静态页面生成等。
2. 项目解决方案选型
不同的需求需要采用不同的架构和选型,即所谓的“水来土掩,兵来将挡”。有些架构虽然强大,但用于小型项目可能会过于复杂,因此要根据需求进行合理选型。
选型并非随口而定,一个PHP程序员需要具备良好的知识储备,个人认为至少需要满足以下条件才具备选型能力:
- 熟练应用至少一个PHP框架,掌握两 - 三个PHP开源系统。
- 拥有自己的一套应用系统。
3. 良好的项目管理素养
项目不仅有开发阶段,还会进入运营期和维护期。具备良好的项目管理素养可以使项目更加稳定、可控。
良好的项目管理素养包括:
- 良好的项目开发及维护习惯:不要为了一时省力而造成后续的重复劳动,要时刻提醒自己将工作流程化、规范化,使规范简单易懂。
- 良好的多人合作管理意识:项目是多人协作的成果,也是服务于大众的,因此要增强协作意识,让相关人员共同完善项目。
4. 丰富的项目开发应用经验
学习理论知识并参加考试是学校里的事情,但如果没有项目经验,就如同满腹经纶却难以施展。因此,需要通过实际项目将所学知识转化为实际需求的实现。
5. 良好的开发规范
- 代码可读性强:对对象、方法、函数进行注释,并采用一套成熟的命名规范,方便他人和自己理解代码。
- 代码冗余度低:提高程序和文件的重用性,实现高内聚、低耦合的代码结构。
- 执行效率高:用最简单的程序流程实现应用需求,避免绕弯路。
- 代码安全性好:作为程序员要时刻保持警惕,对任何有用户输入和上传文件的地方都要格外谨慎,因为一个小小的疏忽可能会导致整个系统崩溃。
另外,对于稍微能坚持且喜欢PHP的人来说,成为PHP高级工程师并非难事。难的是学会使用工具来实现自己或他人的想法,将需求进行有效转化。因此,不妨多了解一些互联网发展的趋势和项目开发管理流程等知识。
想了解更多请关注“泰斗社区”。