一名合格的PHP工程师的知识结构是怎样的?
程序员文章站
2022-05-12 22:37:54
...
回复内容:
1.掌握语言本身的语法,熟悉常用类库是必须的;2.面向对象最为当今的主流也是必须掌握的;
3.常用设计模式必须掌握,设计模式是前辈的总结、经验;
4.php常与数据库配合使用,而且首先为mysql,所以mysql必须熟悉;
5.php是做为一种web开发语言而流行的,所以浏览器中的javascript必须会,虽然现在很多公司有专业的javascript工程师,但是php程序员js也是必须掌握的;
6.html/css必须会,不要求你会切会div+css,但是至少要知道,因为php是一种嵌入html中使用的语言(当然php也可以用于桌面等其他,但是和web(html)结合才是它流行的原因);
7.linux不需要会,会的话肯定更好,一般公司都有专门服务器管理人员的。但是你要会在vi下进行编程,这时候就不像在ide下那么好了,你应该尽量熟悉类库。
其实以上的7点都很针对于web开发,需要掌握的知识,其实是和语言本身没什么关系的,应该说和做的项目有很大的关系,就假如要你用php写一个web操作系统,这样操作系统的设计思想你是要知道的吧。语言只是一个工具,大学4年的课程,也就是知识结构了,与语言没什么关系。 作为做了几年php开发的程序员我说下个人的看法:
1 如果是程序员的话,不管你是ruby、python、java、.net、c、c++,还是php,你可能都需要学习这些语言的基本知识,这个语言的函数库,或者是类库,那是越熟悉越好
2 对于web应用开发的程序员,你肯定要熟悉数据库和sql编程,那肯定是越熟悉越好,而且对于javascript和css也是如此,越熟悉越好
3 对于数据库和服务器的配置,这不应该是你需要花很多精力的地方,因为这是运维人员的工作,如果某个公司对这个有要求,那他们估计就没有运维人员,这些东西很繁琐,而且需要实践,所以建议不要花太多的实践在这上面,了解就可以
4 对于设计模式也是了解为主,你可能会用到设计模式的地方很少,而且如果你真正对编程有感觉了,一段时间的实践之后你自然知道怎么用,哪些总是喜欢把设计模式、编程思想挂在嘴边的基本都是没毕业的
5 如果可以的话,我建议使用linux系统,学习Vim,并且学习apache,php,mysql的编译,不过如果你坚持用linux系统的话,那你肯定会试着自己编译这些东西的
6 多看php手册,学好英文,有什么问题首先看手册
7 学习敏捷开发,学习使用PHPUnit、SimpleTest这些工具写单元测试,并且在实际的项目中使用
8 如果要深入点的话,学习PHP扩展的开发,也许你可能不会开发扩展,但如果你了解了如果开发一个扩展,你就会知道PHP并不是想很多说的那么简单
9 学习并使用PHP的框架,如果你用了某个框架1-2年,那就试着去看下它的源代码,并试着理解那些代码,如果可以的话试着自己开发一个框架
10 所有程序语言都说用来解决具体的问题的,语言很重要,学好用好一门语言并不是一天两天的事,不要相信哪些给你兜售编程思想的人,思想是在实践中积累的,而不是看了书学了别人的思想就会了,然后就什么都可以写了
11 学习算法,锻炼思维 其实phper也是分前端和后端的,面向前端PHPer需要掌握的知识:
- div+css这个不一定要去精通,但是要熟悉和掌握
- js这个也是要掌握的,尤其是jquery框架,目前很主流,一些页面特效或者与PHP交互的ajax效果经常要使用到
- php这个语法基础和类库要熟练掌握,php手册可以经常翻阅一下,php模板引擎,php框架都是需要。
- php对mysql的常见操作和优化也是必须的
- lamp环境自己要会配置,一些websever配置要懂得,常用的linux命令和一些简单的shell脚本要回写
- 不仅要理解mysql的工作原理,一些基于mysql源码级的优化也需要掌握了
- java或c的语言基础可能也需要一些,php并不能解决所有问题,当phphold不住的时候可以考虑在websever上做一些必要模块开发,或者利用os资源,例如GD类库处理图像性能并不一定很好,完全可以使用 ImageMagick来尝试一下
- php源码和mysql源码都是有必须要研究的
1)、对计算机的理论需要有基本的了解, 对数据结构知识要熟练掌握。理解各种数据结构的特征,应用场景。能够和具体的工作联系起来。
2)、熟练掌握PHP语法,熟悉常用类库,对字符串库、正则库必须熟练掌握。
3)、理解、掌握常用设计模式,最好能研读一些通用的框架源码。
4)、对前端和后端知识都需要了解。掌握前端div+css+js,尤其是jquery框架。
5)、掌握php对mysql,memcache的常见操作和优化。
6)、熟悉常用的linux命令,能够写一些简单的shell脚本。
来自:Avazu Holding刘冉冉
http://blog.goody365.com/lamp/Lamp%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E6%8A%80%E8%83%BD%E8%A1%A8v0.html 我按照重要性列举一下:1.设计思想:编程语言没有好坏之分,重要的是你的思想 (小孩和成人手里拿笔画出的东西肯定不同,对画出的画解释也不同)。思想的知识构成:
1> 数据结构、设计模式等( 其实每种数据结构和设计模式就是种设计思想 )
2>《java编程思想》,也可以对比一下yii、ci、zend框架各自的优点和缺点,吸取设计思想
3> 每种设计思想里面操作的对象可能是一种数据结构、memcache的key、数据库db/table/field、div、ip、idc等等
2.筛选工具:带着思想去筛选工具。
1>你需要php提供一个函数去检测单态模式,就需要自己学习c写个扩展
2>你需要用php查询数据库就学习mysql和pdo相关
3>你需要在页面调试php又觉得输出出来的数据格式不好看,就去学习html+css+div
4>memcache、nginx、apache同理 个人自从学习了rails之后,对php的应用水平大幅提升 1 http协议
2 缓存 与数据库
3 php内存分配原理
4 scoket编程
5 服务器配置与服务器管理。
6 算法与数据结构
7 sql 性能分析与优化
8 系统容灾、高负载设计
- PHP语言
- HTTP协议
- HTML
- SQL(MySQL)
- 服务器(Apache/Nginx)
- 缓存(Redis,Memcache)
- 测试工具(ab,...)
上一篇: MySQL管理之二进制日志文件的管理
下一篇: python通过post提交数据的方法