php工程师 需要具备哪些技术

如题所述

作为一名PHP工程师,你不仅需要精通PHP开发,数据库设计建模,服务器架构,还需要熟悉各种系统结构,如文章系统、图片系统、人力资源管理系统、楼市系统、电子商务系统、广告公告系统、流量统计系统、企业自动建站系统、留言问答系统、BBS、博客等,最重要的工程要有一定的项目实战经验。 1、熟练使用PHP+MYSQL编程,熟悉HTML , Div, CSS, JavaScript, Smarty模板技术;常用设计模式必须掌握,设计模式是前辈的总结、经验; 2、、熟悉主流PHP框架,熟悉网站开发的流程; 3、有良好的编程习惯,良好的沟通能力,具有较强的分析、解决问题能力;能自主完成模块开发; 4、html/css必须会,不要求你会切会div+css,但是至少要知道,因为php是一种嵌入html中使用的语言; 5、熟悉Linux 开发环境;linux不需要会,会的话肯定更好,一般公司都有专门服务器管理人员的。

像我们诺博源毕业的PHP学员各方面的能力都非常的优秀 ,所以一毕业就能找到合适的好企业上班
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-01
高级php工程师可以往几个方向去发展:

1.深度方向
一个工程师要往高阶发展,必须同时强化几个技术能力:

设计能力:懂得如何利用分层、面向对象、设计模式等设计组织代码
编码能力:熟悉php语法特性,知道怎么用一两行代码代替初级开发者十几上百行代码。

工程能力:学会如何快速构建工程,学会如何构建可读、可扩展性的工程,学会如何避免埋坑给后人,学会如何与人协作维护工程,学会如何保证工程质量,学会如何权衡利弊,学会如何在困难面前妥协。

抽象能力:初级开发者通常会等到逻辑重复时再抽象封装(甚至怕拖进度或者懒惰而放弃),而高级开发者通常一开始写出的逻辑就为了以后的重用,并且深知一开始多付出的思考设计时间最终都会因为复用得到回报。很多开发框架就是一步步抽象/埋坑/优化而来的。

兄弟连教育PHP培训多年。

架构能力:一个业务系统如何划分模块,模块之间如何协作通信,每个模块的技术选型如何做,系统细节如何规避问题等等。
优化能力:学会如何评估、分析、提升系统性能。优化途径很多,产品功能优化、业务逻辑优化、基础技术优化、操作系统底层硬件的优化等等。

2.广度方向
php开发基本上离不开操作系统、存储、缓存、网络、webserver等等配套设施,因此这也是高阶必备技能。一旦业务系统出问题了,必须要能快速定位解决(不一定自己解决,但要知道找到哪个负责人来解决)。

比如存储mysql,高级开发者会懂得利用索引、利用分表分库提高查询性能,懂得负载均衡和灾备提高性能提高可靠性(虽然是DBA的工作,但了解了有助于出问题时排查)

比如缓存,高级开发者懂得如何有效且最大限度利用缓存系统提高应用性能。

比如http,初级开发者往往只懂得http网络请求就只一去一回两个包,高级开发者会去深究网络七层模型、会深究http请求的各个环节(DNS、三次握手等等)

比如web前端,学习如何依靠浏览器缓存、CDN缓存、压缩代码、合并文件等等提高前端性能,学习如何进行前端安全攻防。

3,软素质
懂得团队管理,项目管理,沟通技巧等等。本回答被网友采纳
第2个回答  2017-07-05
想成为一名PHP工程师你得需要以下技能:
➤前端
但凡是一个网站都必须得让人能看得见,使用得起来。任何一个网站可以没有数据库,可以没有后端程序,但是必须得有前端页面,而这也是最早期的网站形态—一 一个只能展示文字和图片等信息的静态页面。
掌握静态网页的制作技术是学习开发网站的先决条件。这里面的学习包括 HTML,CSS,JavaScript,它们可以直接使用浏览器运行。
HTML负责网页的结构,用它来规定网页排版中哪部分是文字,哪部分可以放图片,音频文件,视频文件放在网页中什么位置显示等。
CSS可以把这些文字,图片,视频等信息拥有一定的合理好看的样式,可以定义文字的大小,颜色,图片的大小等等。
JavaScript可以让网页与人产生交互,就像你登录网站,点击登录按钮就会跳转,把鼠标放到菜单,菜单就会自动展示下拉,逛淘宝时,把鼠标放在产品图片上,图片就会放大等等。
➤后端
到这里才说到我们的PHP。如果说HTML和CSS是看得见的部分,那么PHP就是看不见的部分。它负责在后面处理数据,然后返回给用户。
当网站由开始的静态页面发展到现在有了后端程序,那么网站才有了业务逻辑。简单的说,就像一台计算器,你在前端输入数据,然后点击提交,PHP给你处理运算,然后返回到前端,这时你就看到了结果。
➤MySQL数据库
当网站技术再往后发展时,人们需要网站处理存放更多的数据,来满足现实生活中的业务逻辑,这时候就需要数据库了。
数据库是什么,按字面的意思,数据库说白就是存放数据的地方,它可以是一段文字,一张图片或者一个文件的URL地址等等。比如,当你想浏览一篇文章时,你点击文章标题,这个请求会跳转到PHP文件那里,PHP再从数据库取出你想看的那篇文章。
➤框架
框架说白了就是一个已经帮你完成了部分功能的程序部件结构。
基本上到了公司动手做起真实的项目中都是使用框架来开发的,它可以使你的开发速度更快。
➤MySQL优化技术
当你学会了PHP,MySQL的一些增删改查技术后,你可以尝试做一个简单的文章管理系统了,能发布,修改,和查看文章。
但是,你试想一下,会不会遇到这样一个问题:当你查看一篇文章,MySQL需要从文章表中寻找你需要的那一篇取出来,此时你的文章已经很多了,MySQL再从里面找一篇文章是不是越来越耗时了,平常文章量少的时候也许1秒钟就能打开一篇文章,此时可能需要十来秒,你愿意等吗?用户愿意等吗?如果用户看一篇新闻需要等很长时间,那能行吗?
所以我们要对MySQL进行优化,让数据库尽量用更少的时间找到我们需要的东西。
➤页面静态化技术
当你学会了MySQL优化技术,切不要沾沾自喜,新的问题的依然很多。
可以再试想一下:一个人访问时,和大量的人访问时?当你一个人访问也许很快,但是大量的人访问,MySQL要处理大量的请求,它是忙不过来的,MySQL支持的请求数是有限的,这很容易理解吧。
假如它一次只能处理100个请求,当超过100个人时,其他的用户是不是就要等着,这样速度又降下来了。
怎么办?一个很好的解决方案是采用静态化技术。
➤Linux
我们的程序,数据库,整个网站终归都是放在Linux系统的服务器上的,对于一般的程序员能做到基本的配置即可。基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed 脚本命令等一般公司有相应的运维人员管理。如果对这个有兴趣,后期可以继续深挖。

➤非关系型数据库Redis/Memcached

怎么又是数据库?不是已经讲过了MySQL了?是的,上面咱们说的MySQL是关系型数据库,所以这两个叫做非关系型数据库。
与MySQL不同的是Redis和Memcached 的数据是放在内存中的,MySQL是放在磁盘中的,而访问内存中的数据速度要远大于放在磁盘中,这就是它们的好处。
那为什么还要学习MySQL,干嘛不直接学习使用Redis和Memcached?
因为:MySQL更适合海量存储数据,Redis和Memcached是在内存中的,需要很大的内存才行,而且放在内存中的数据也容易丢失,如果机器故障重启内存就释放了。
第3个回答  2022-03-20
课程:MySQL数据库的创建、修改及删除;数据表的创建、修改及删除;无限分类的数据表设计;记录的插入、更新、删除及查找;外键与连接;索引;存储过程,触发器,游标;事务处理;数据库引擎详解;数据库集群,数据库读写分离、类与对象,类的定义;属性与方法;$this关键字、 self关键字;继承,多态;魔术方法;抽象类与接口;设计模式;PDO类;JpGraph图表,FusionCharts图表;PHP高级应用(Smarty模板、PHP框架技术)等。
第4个回答  推荐于2017-07-06
会装软件
会php语法,
会mysql
会js(jQuery)
会百度谷歌
会黏贴复制
会以上技能就算是php初级工程师了本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网