Heim  >  Artikel  >  Backend-Entwicklung  >  一名合格的PHP工程师的知识结构是怎样的?

一名合格的PHP工程师的知识结构是怎样的?

WBOY
WBOYOriginal
2016-06-06 16:41:501059Durchsuche

回复内容:

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需要掌握的知识
  1. div+css这个不一定要去精通,但是要熟悉和掌握
  2. js这个也是要掌握的,尤其是jquery框架,目前很主流,一些页面特效或者与PHP交互的ajax效果经常要使用到
  3. php这个语法基础和类库要熟练掌握,php手册可以经常翻阅一下,php模板引擎,php框架都是需要。
  4. php对mysql的常见操作和优化也是必须的
面向后端的PHPer:
  1. lamp环境自己要会配置,一些websever配置要懂得,常用的linux命令和一些简单的shell脚本要回写
  2. 不仅要理解mysql的工作原理,一些基于mysql源码级的优化也需要掌握了
  3. java或c的语言基础可能也需要一些,php并不能解决所有问题,当phphold不住的时候可以考虑在websever上做一些必要模块开发,或者利用os资源,例如GD类库处理图像性能并不一定很好,完全可以使用 ImageMagick来尝试一下
  4. php源码和mysql源码都是有必须要研究的

1)、对计算机的理论需要有基本的了解, 对数据结构知识要熟练掌握。理解各种数据结构的特征,应用场景。能够和具体的工作联系起来。

2)、熟练掌握PHP语法,熟悉常用类库,对字符串库、正则库必须熟练掌握。

3)、理解、掌握常用设计模式,最好能研读一些通用的框架源码。

4)、对前端和后端知识都需要了解。掌握前端div+css+js,尤其是jquery框架。

5)、掌握php对mysql,memcache的常见操作和优化。

6)、熟悉常用的linux命令,能够写一些简单的shell脚本。


来自:Avazu Holding刘冉冉

blog.goody365.com/lamp/ 我按照重要性列举一下:
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 系统容灾、高负载设计
  1. PHP语言
  2. HTTP协议
  3. HTML
  4. SQL(MySQL)
  5. 服务器(Apache/Nginx)
  6. 缓存(Redis,Memcache)
  7. 测试工具(ab,...)
招聘网站的招聘要求。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn