工作有些年头了,从学校开始自学ASP,偶然因为PHP一个功能爱上它(ASP上传代码要写好多,PHP基本几行就搞定了),从此走上了 ”拍黄片“ 之路。结合这几年的工作经验,说说我对PHP工程师知识结构的理解

PHP的运行环境

连环境都搞不起来,就是你有多么喜欢PHP,那也是白搭,开始我们大多会使用集成环境软件例如xampp,wamp。随着知识的增加慢慢要学会自己搭建运行环境,例如 Linux(Ubuntu/Centos),Apache/Nginx,Mysql,Redis/Memcached,PHP-FPM

基础知识

  • PHP编程:变量、常量、字符串、数组、控制结构、数据库、类、继承、多态、Cookie、Session
  • MYSQL命令:INSERT、UPDATE、DELETE、SELECT、GROUP、COUNT、JOIN、索引

有了PHP基础之后,第一个输出就是 Hello World 请举手(感觉好神奇)
问:OPCODE 是什么东西?

前端知识

如果你认为PHP是后端开发工程师,那么你就错了,最起码目前我接触的PHP工程师对于前端知识掌握的也是非常深的

  • CSS :不要求达到美工级别的切图,看得懂会改就行,会用Debug准确定位排错
  • JS:最起码表单验证,Jquery会使用吧
  • 前端框架:bootstrap或者foundation 最起码你的熟悉一个

PHP扩展

在最开始使用PHP的过程,可能完全不是扩展是什么玩意,我是知道了Memcache之后才知道原来有扩展这个概念,对于PHP扩展最基本的要求是先要学会安装和加载,更高的要求是了解扩展的结构并实现一个简单扩展,给大家推荐一个网站PHP扩展开发及内核应用

Web安全

SQL注入、验证码、刷新提交、漏洞扫描、DOS攻击、跨域攻击、XSS 这些都要了解下,并学会基本的防御手段,你一定会碰到这些破坏的

高性能Mysql

下雨天PHP和Mysql很配哦,对于数据库的要求,开始是会使用基本语句就行(增删改查),其次要有能力写高效语句优化数据库、分库分表的策略、主从架构,最后需要了解索引的原理,推荐大家看一本书叫做 "高性能Mysql"

MVC框架

会使用某个框架这是最低要求了,现在那个商业公司不用框架了。希望大家可以理解MVC模式,最终可以自己实现一个简单的MVC框架

  1. MVC模式介绍
  2. 视图
  3. 控制器
  4. 模型
  5. 模块和操作
  6. 主入口文件
  7. MVC模式应用

服务器知识

随着了解的越来越多,发现Linux知识是必不可少的,就像七巧板,总差那么一块。对于Linux的知识要求 我觉得以 “鸟哥的私房菜” 这本书 作为要求吧。

版本控制

做研发的版本控制很重要,因为这个牵扯到顺利持续集成的进度,最开始使用的是SVN,后续换到了Git,墙裂推荐大家都要学习Git,因为目前Git已经是研发的一个基本要求了

缓存

缓存在目前互联网的网站使用频率非常之高,后端主要是大量使用在缓存数据库结果集,减轻数据库的压力,目前主流的有Memcache 和Redis。前端大部分使用CDN,对静态资源使用CDN可以加载更快。无论前后哪端,都是为了给用户更好的体验
问:Memcache 和 Redis 有什么区别?

大流量

我所接触过的最大请求量是千万级别的(每天),使用的架构基本都是分布式的做法,例如负载均衡

高并发

高并发目前比较流行,经常看到某某秒杀活动,关于高并发需要了解常用的几种解决方案

学会使用IDE

不管你用什么IDE,请选择一款适合自己的,这能大大提高你的开发效率,个人墙裂推荐PHPStorm

学会搜索

好多人都喜欢问别人这个什么问题呀,遇到的问题我建议都先搜索,只有认真确认过的确找不到解决办法在找人问了。没有思考和尝试哪有成长了

应该会的功能

不是说会了这些功能,你就天下无敌,应该是基本要求了

  • 登录、注册 模块
  • 上传模块
  • 图像验证码模块
  • 手机验证码模块
  • 支付系统
  • 订单系统
  • 统计模块
  • 级联刷选
  • 微信公众号开发(最好是认证的服务号)
  • 商城库存并发控制

一下子就想了这么多,后续想到了再补,请大家多多指教。

其实编程使用什么语言不重要,最重要的是思想,编程的思路。当时这个的前提是你实现了很多功能,此时已经是任凭你需求千变万化,哥心中已有解决方案

有一句话希望大家一起共勉:学无止境,学海无涯

相关标签:PHP职场生活

本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

作者: 编_程_浪_子 
链接:http://www.imooc.com/article/17994
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

合格PHP工程师的知识结构 (转载)的更多相关文章

  1. 【转】合格PHP工程师的知识结构

    PHP的运行环境 连环境都搞不起来,就是你有多么喜欢PHP,那也是白搭,开始我们大多会使用集成环境软件例如xampp,wamp.随着知识的增加慢慢要学会自己搭建运行环境,例如 Linux(Ubuntu ...

  2. 合格PHP工程师的知识结构

    摘自http://www.cnblogs.com/ftx5410/p/7204672.html 一下子就想了这么多,后续想到了再补,请大家多多指教.其实编程使用什么语言不重要,最重要的是思想,编程的思 ...

  3. 详解一名合格PHP工程师应该具备的基本知识结构

    在学习php时的一些小沉淀,供童鞋们欣赏哈.. 1.掌握语言本身的语法,熟悉常用类库是必须的: 2.面向对象最为当今的主流也是必须掌握的: 3.常用设计模式必须掌握,设计模式是前辈的总结.经验: 4. ...

  4. 数字IC设计工程师的知识结构

    刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...

  5. 写给初学前端工程师的一封信 - 转载 至https://www.w3ctech.com/topic/983

    以下内容是转载https://www.w3ctech.com/topic/983 大家好: 应波波的邀请写一写我对这个话题的想法.从去年开始不少朋友让我帮忙介绍前端工程师,绝大部分忙都没帮上,原因是真 ...

  6. 淘宝前端工程师:国内WEB前端开发十日谈

    一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...

  7. 腾讯云总监手把手教你,如何成为AI工程师?

    作者:朱建平 腾讯云技术总监,腾讯TEG架构平台部专家工程师 1.关于人工智能的若干个错误认知 人工智能是AI工程师的事情,跟我没有什么关系 大数据和机器学习(AI) 是解决问题的一种途径和手段,具有 ...

  8. “不是不需要运维工程师,是人人皆是运维”|对话阿里云MVP蒋烁淼(上)

    摘要: 与湖畔大学首期学员.阿里云MVP.驻云创始人蒋烁淼面对面 [三位阿里云MVP(驻云CEO.首席架构师.大数据总监)<MVP时间>首次同台授课,“湖畔第一大脑” 蒋烁淼领头线上精讲, ...

  9. Linux驱动学习步骤(转载)

    1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, ls ...

随机推荐

  1. spring AOP注解

    此段小代码演示了spring aop中@Around @Before @After三个注解的区别@Before是在所拦截方法执行之前执行一段逻辑.@After 是在所拦截方法执行之后执行一段逻辑.@A ...

  2. 2019.03.22 读书笔记 Linq中的IEnumerable与IQueryable

    Linq主要分为 Linq to object .Linq to XML .Linq to sql(现在都用EF了). 针对object和sql,微软分别设计了两套接口IEnumerable.IQue ...

  3. python 缺失值的处理

  4. 获取tomcat路径

    String serverPath = System.getProperty("catalina.home");

  5. 性能测试工具Jmeter04-脚本录制

    Jmeter脚本录制:不推荐使用,这里就不介绍了 Badboy脚本录制 下载地址:http://www.badboy.com.au Badboy是一个强大的工具,旨在帮助测试和开发复杂的动态应用.Ba ...

  6. 【client】与【offset】

    上面主要区分了[offset]和[client]开头的各个属性的意义,下面这张图是转载的,又加入了[scroll]开头的,和元素本身的[style] clientWidth   是对象看到的宽度(不含 ...

  7. OAuth2.0和企业内部统一登录,token验证方式,OAuth2.0的 Authorization code grant 和 Implicit grant区别

    统一登录是个很多应用系统都要考虑的问题,多个项目的话最好前期进行统一设计,否则后面改造兼容很麻烦: cas认证的方式:新公司都是老项目,用的是cas认证的方式,比较重而且依赖较多,winform的项目 ...

  8. iis部署网站打不开

    事件查看器 1.crypt32报错 2.ASP.NET 2.0错误 解决办法: 1.crpt32报错,根本原因是计算机无法连接更新根证书所致,可能造成死循环. [1]必须连接到 Internet 或关 ...

  9. kafka的分区分配策略

    用过 Kafka 的同学应该都知道,每个 Topic 一般会有很多个 partitions.为了使得我们能够及时消费消息,我们也可能会启动多个 Consumer 去消费,而每个 Consumer 又会 ...

  10. maven课程 项目管理利器-maven 1-1课程概述

    1 为什么使用maven? 多框架应用项目,jar包太多且冲突,为了解决这个问题,引入maven.(类似还有ant,gradle) 2 课程概述 maven快速入门 maven核心知识 maven建造 ...