当前版本
|
文件标识: | 学习猿地-PHP高级开发工程师-01 |
| 当前版本: | V3.0 | |
| 作 者: | 高洛峰 | |
| 完成日期: | 2021-06-14 |
历史版本
| 版本/状态 | 作 者 | 参 与 者 | 起止日期 | 备 注 |
|---|---|---|---|---|
| V1.0 | 高洛峰 | 孙健魁,徐枭雄 刘万涛、吴健 | 2019-01-05 2020-05-20 | 学习猿地-PHP开发工程师-01 学习猿地-Web前端开发工程师-01 学习猿地-Linux运维工程师-01 |
| V2.0 | 高洛峰 | 孙健魁,徐枭雄 刘万涛、吴健 | 2020-05-20 2021-03-20 | 学习猿地-Web全栈工程师-01 |
| 版本/状态 | 起止日期 | 备 注 |
|---|---|---|
| V1.0 | 2019-01-05 2020-05-20 | 学习猿地-PHP开发工程师-01 学习猿地-Web前端开发工程师-01 学习猿地-Linux运维工程师-01 |
| V2.0 | 2020-05-20 至今 | 学习猿地-Web全栈工程师-01 |
学习目标
- ☆ 可以掌握Web开发全栈技能, 包括前端、后端服务、数据库、运行环境、软件架构、设计模式、常用算法和业务流程等;
- ☆ 可以独立完成三个以上的完整项目开发;
- ☆ 可以掌握项目开发流程、项目开发中的所有常用到的开发工具;
- ☆ 能胜任所有的Web开发程序员岗位;
- ☆ 可以进行网站开发、企业信息化开发、小程序开发、WebAPP开发、游戏开发、前端开发、接口开发、二次开发、服务器运维等类型的项目开发;
学习方式
- ✔ 采用“迭代式”学习方式, 前一阶段都是在为下一阶段做基础铺垫。学习步骤是先从面向过程的编程思想开始,再到面向对象的编程思想, 再到面向组件的编程思想, 再到面向架构的编程思想,最后再到企业实习。从编程思想和技术应用上,都能达到逐级提升。进阶式教学方法,不仅适合技术的成长,更适合编程思想的成长,是从小白到大牛的最有效的程序员成长方法。
- ✔ 采用“全栈式”授课方法, 每个阶段学习的并只不是一种编程语言,而学习的是一门技术。所以每学完一个阶段都可以完成一个Java项目,包括前端页面、后端业务处理、数据库操作,以及服务器的管理与应用。
- ✔ 采用“浸入式”学习方式,不仅有一个专门的企业实习阶段,浸入到项目中和总监一起开发商业项目, 而且在每一阶段的教学中也是以项目实战贯穿技术点的方式。 每个阶段都会先梳理项目需求,进行项目设计, 学习部分前端技术就为项目编写页面,学点数据库技术就为项目设计表和编写SQL语句,学习一部分后端技能就为项目编写业务逻辑和架构设计,每个阶段最后再整体对项目进行优化、升级、测试、上线和总结。
阶段一:夯实PHP基础
本阶段适合没有任何软件编程基础和网页设计经验,想先从基础入手的PHP开发爱好者,课程从零基础讲起,带你逐步了解编程基础和网页开发,带你打破现状走进编程的大门。熟练掌握之后,可以满足市场静态页面布局,和基础型系统的开发,但是市场就业工资相对较低,还得继续学习就业班课程。
| 模块 | 技术点 | 学习目标 | 实战/寓学于练 |
|---|---|---|---|
| HTML5 | HTML常用标签 超链接标签及多媒体标签 HTML表单标签 |
掌握HTML基本应用,学会页面布局可以完成PC端基本的页面编写。 | 完成一个自己的html网页 简单页面链接相册 个人简历表格制作 登录表单 用户注册表单 |
| CSS3 | 认识CSS及选择器 CSS基本属性集属性取值 DIV+CSS页面布局 CSS动画 伸缩盒模型布局+移动端布局 栅格系统页面布局 |
掌握CSS的基本应用,学会DIV+CSS页面布局可以完成PC端基本的页面编写;掌握H5和C3的新特性。 | 竖向列表菜单 元素水平居中 鼠标悬停图标变色效果 右下角广告 面页垂直水平居中提示 |
| PHP核心基础 | PHP基本语法 数据类型转换和常量 PHP中的运算符 PHP流程控制 PHP复合数据类型-数组 PHP函数的基本使用 PHP中不同函数类型的定义及用法 PHP中常用系统函数 |
掌握PHP语言基本功能,掌握PHP的语法 | 第一个PHP文件 页面背景换色 九九乘法表 斐波那契数列 图片采集 万年历 简单文件管理 用户登录控制 |
| PHP常用扩展功能模块 | 时间模块及错误处理 文件系统 正则表达式 GD库 |
学会使用PHP的一些常用功能扩展模块,操作数据库等,可以通过面向过程的思想处理业务流程 | 按项目业务需求: 1.接收用户操作请求。 2.完成后端的业务处理。 3.向用户响应处理结果。 |
阶段二:PHP核心编程
本阶段是PHP核心的部分,从MySQL8.0基础应用到PHP的面向对象,学完本阶段你就可以自己开发一些简单的WEB项目,虽然它不易扩展和维护。如果想实现高可以用易维护的项目,你还得继续学习。
| 模块 | 技术点 | 学习目标 | 实战/寓学于练 |
|---|---|---|---|
| MySQL8 | MySQL基础 数据类型及表和字段相关操作 操作数据表中的记录 运算符、函数、存储过程及新增数据类型 存储引擎、数据备份还原积极工具的使用 |
掌握MySQL的服务器基本配置,可以为项目设计和创建表结构,会编写基本的SQL语言,完成项目的业务需求。 | 按项目的需求: 1.完成CMS的表设计。 2.创建CMS需要的所有表。 3.编写项目中100+条SQL语句。 |
| MySQLI扩展 | PHPMySQLI扩展操作MySQL数据库 MySQLI扩展实战项目-在线相册 |
通过学习MySQLI扩展操作MySQL数据库,并以实战项目应用为主。 | 按项目的需求: 完成在线相册项目实战 |
| PHP面向对象 | PHP面向对象-类和对象的声明及使用 PHP面向对象-魔术方法和特性 PHP面向对象-定义常量类 PHP面向对象-其它应用 PHP面向对象-设计模式及命名空间 PHP面向对象-数据库抽象层PDO详解 |
掌握PHP面向对象的编程思想 | 按项目的需求: 1.完成商城项目的表设计。 2.创建商城项目表和索引。 3.实现项目中的全部SQL语句。 4.实现数据定期备份和性能优化。 |
阶段三:PHP项目实战(电商项目)
在本阶段你将从零开始通过composer自己组建一个框架,并完成一个电商项目的开发,虽然在未来的工作中我们会学习到非常优秀的框架比如 Laravel ,但是自己独立拉取一个框架的过程是必不可少的,因为它能让你深入理解到框架的底层原理,理解什么是MVC模式。只有深入理解框架的底层原理以后,我们在未来的工作中才能和框架更好的相处。
| 模块 | 技术点 | 学习目标 | 实战/寓学于练 |
|---|---|---|---|
| 会话控制 | PHP会话控制 | 在PHP中COOKIE以及SESSION的相关操作,以及如果浏览器禁用点COOKIE后如何使用SESSION | 按项目的需求: 用户登录与退出操作 |
| PHP包管理工具Composer | Composer包管理工具 Composer项目实战 |
熟练使用Composer管理常用开发组件,和自定义高可用的后端开发框架。 | 使用Composer构建自己的PHP开发框架 基于自己的框架进行应用开发 |
| PHP项目实战(电商项目) | 项目实战:项目设计和框架搭建 项目实战:后台结构与系统基础信息设置 项目实战:后台核心内容管理 项目实战:前台内容展示 项目实战:用户与系统交互信息管理 项目实战:购物流程开发过程 项目实战:定单处理流程 |
学习体验整套Web系统的开发流程 | 按项目的需求: 完成整个商城项目的开发 |
|
项目实战:EWshop电商系统 以一个轻量级Web商城系统为模型,全程无死角讲解一个项目从筹划、设计、开发、测试、上线、运行的全过程。可以带你身临其境,和讲师一起走一遍项目开发的过程,对项目经验不足,或没有接触过项目开发的新人,课程对你非常用帮助。
项目收获:
|
|||
阶段四:Web实战必备知识
90%以上的站点都是部署在Linux服务器上,而Linux也是本阶段的重点之一,除此之外你将学会如何使用Bootstrap开发响应是页面,和使用JavaScript完成页面动效,以及在高并发项目下如何利用Redis完成数据缓存。
| 模块 | 技术点 | 学习目标 | 实战/寓学于练 |
|---|---|---|---|
| 生产Linux环操境作下的及环境管理 | Linux系统运维-系统基础 Linux系统运维-系统管理 Linux系统运维-网络管理 Linux系统运维-LAMP产品及环境搭建 Linux系统运维-Apache服务配置 Linux系统运维-LNMP环境快速部署 |
掌握Linux系统应用,基本的Shell编程,配置和管理常用的网络服务,LAMP和LNMP环境的安装和应用。 | 按项目的需求: 1.通过源码包搭建LNMP环境。 2.配置管理Nginx的应用服务器。 3.设置优化和安全防控任务脚本。 |
| JavaScript语言基础 | JavaScript语法 JavaScript的运算符和流程控制 JavaScript的流程控制和函数 JavaScript对象编程 JavaScript数组和异常处理 JavaScript字符串操作和正则表达式 JavaScript内置对象的应用 |
掌握js的基础插件,掌握js语言 | 应用JS插件完成页面中特效要求。 通过JS完成所有前端交互。 |
| JavaScript的WebAPI之BOM操作 | window对象的成员操作 window对象的对象成员属性 |
可以使用BOM思想编写用户前端交互和特效 | 实现所有页面中的特效 |
| JavaScript的WebAPI之DOM操作 | JavaScript的DOM应用 DOM导航和节点操作 DOM元素的位置属性和事件操作 DOM表单操作及相关的案例 原生JS版贪吃蛇游戏项目开发过程 |
可以使用DOM思想编写用户前端交互和特效 | 实现所有页面中的特效 |
| jQuery | jQuery的基本应用 jQuery的基本应用 jQuery编写页面特效 jQuery创建元素和操作属性 jQuery的事件操作 |
全面讲解了jQuery的各种API的应用, 每个知识点都配合相关的实用案例 | 实现所有页面中的特效 |
| Ajax | XMLHttpRequest对象 Ajax应用 封装Ajax jQuery中的Ajax |
掌握,Ajax请求的步骤及原理 | 实现所有页面中的特效 |
| Bootstrap | Bootstrap基础 Bootstrap组件 Bootstrap项目实战 |
可以布局响应式页面,弹性布局和栅格布局 | 在项目中进行响应式布局的实现 |
| 数据库进阶 | MySQL数据库进阶 Memcache安装与使用 Redis安装配置及使用 |
掌握MySQL集群部署和多实例数据库环境搭建,掌握关系型和非关系型数据库联合应用。 | 数据库架构 1.数据库脚本的版本化 2.MySQL集群架构 3.Redis缓存和性能提升 |
| Node.js | Node.js基础-安装及使用 Node.js实战-聊天室功能实现 |
掌握Node.js的应用,和PHP配合实现后端业务流程。能部署分布式架构和面向服务的SOA程序开发架构。 | 后端轻量化 1.使用各个接口综合返回JSON数据。 2.使用Nodejs和PHP共同开发这个层次功能 3.和SOA体系打通 |
阶段五:PHP框架实战项目(电商系统)
在本阶段你将学习目前最流行的两个框架分别是ThinkPHP、Laravel。学完本课程你未来的所有的项目都将会使用框架进行开发,不管是在效率、安全、组件上都能给你很大的支持。在本阶段学习框架的同时你将会独立完成一个博客项目,博客项目主要是练习和熟悉Laravel框架,在此之后你将使用Laravel框架独立完成电商项目的API研发,并且你将再次阶段学习和使用消息队列、定时任务、阿里云OSS存储等在未来工作中常用的功能和服务。完成项目后老师将会手把手带你上线项目,部署到阿里云平台,体验真实的项目上线过程。
| 模块 | 技术点 | 学习目标 | 实战/寓学于练 |
|---|---|---|---|
| ThinkPHP5框架 | ThinkPHP5-框架开发 ThinkPHP5-项目实战 ThinkPHP5-核心技术 |
本课程从TP的下载安装到搭建,再到项目实战的练习,有效的掌握TP框架以及核心技术。 | 按项目的需求: 完成CMS项目开发 |
| Laravel-基础 | 开始前的准备 博客静态页面 登录注册与个人中心 博客分类与发布博客 首页数据和博客详情 博客评论与完善项目 |
通过完成一个博客项目, 来掌握laravel框架的常用功能 | 按项目的需求: 完成博客项目开发 |
| Laravel-项目 | 开始前的准备 DingoApi和JWT 用户管理与登录注册 分类和商品管理 订单管理和轮播图 首页和个人中心 商品模块 我的购物 |
掌握PHP新版本的Laravel框架,和RESTFul API的接口设计原则和应用,可以自定义开发接口,并能搭建高可用项目架构的目标。 | 按项目业务需求: 1.用Laravel框架搭建项目架构。 2.按业务标准完成项目接口开发。 |
|
项目实战:Laravel-项目(商城API) 本项目是是一个商城项目, 和传统的商城项目不一样, 本项目并不包含视图页面, 仅仅是提供商城项目的数据API,本项目分后台管理和前台两部分, 包含了商城常见的业务流程, 同时集成了支付, 微信授权, 短信, 第三方云存储等。因本项目作为学习Laravel的进阶项目, 所以更偏向Laravel以及常用第三方Api的使用, 更多的偏向技术层面, 弱化了项目的业务逻辑, 比如SKU的处理就相对简单。
项目收获:
|
|||
阶段六:微信小程序&微信公众号项目开发实战
公众号和小程序已经成为了开发者必学技能,小程序已经成为生活中不可或缺的一部分,本阶段你将学会公众号开发和小程序开发。并且结合上一阶段的Laravel电商项目API,独立完成电商小程序的开发,学完本阶段你就已经具备了一个高级PHP开发工程师所需要学习的所有技能。
| 模块 | 技术点 | 学习目标 | 实战/寓学于练 |
|---|---|---|---|
| 微信公众号开发 | 微信公众号-公众号开发 | 掌握Vue和React框架的应用,可以通过虚拟DOM方式,开发前端交互,以及和后端交互处理数据,进行微信公众号的开发工作。 | 按项目原型设计: 微信公众号开发 |
| 微信小程序开发实战 | 课前准备 配置文件和生命周期 模板语法 常用组件和自定义组件 常用API 商城项目 扩展 发布小程序 |
掌握Vue和React框架的应用,可以通过虚拟DOM方式,开发前端交互,以及和后端交互处理数据,进行微信小程序的开发工作。 | 按项目原型设计: 移动端应用微信小程序开发 |
|
项目实战:图书商城 通过一个图书商城的项目,将基础知识融会贯通,通过项目实战的方式,学会如何开发微信小程序项目。在实战课程中,你不仅能够学会小程序的项目开发,还能学到一些前端的编程思想,以及前端开发的技巧。项目使用原生小程序框架(MINA)进行开发。在视图层,使用主流的前端UI框架Vant Weapp进行页面的开发,使用ES6模块化以及CommonJS模块化语法进行模块封装。
项目收获:
|
|||
阶段七:进入企业实习参与商业项目开发
这个阶段安排入职智校云网络科技有限公司实习,实习期为一个月,分配到商业项目组中和老程序员一起参与上线项目的开发工作。浸入项目组实习,不仅可以积累工作经验,在工作中学习更是技术提升的关键时期。相关的工作经验对于新工作的薪资起着决定性作用,因为参加实际项目开发解决过一些实际问题,一些开发工具会使用很熟练,并掌握相关的业务流程,了解团队协作开发的相互配合, 了解相关的项目管理规范等,所以开发效率会很高。在实际的编程工作中,你做的事情往往是一个大系统中的一个组件,完成一个大系统的开发工作是一个团队的事情,但你必须学会如何团队开发。最主要的是学过再多的技术,学习的内容也都是“点状”的,例如会写小段代码,掌握各种算法,了解所有设计模式,但没有参加过商业项目开发就不相信自己能胜任这份工作。作为程序员要有被甲方“威胁”的经历,要有被产品经理反复改需求“博弈”的过程,要有为了项目预期上线连夜“奋战”的时候,更要有项目经测试后反馈回来BUG成堆无地自容的感觉,也要有过讨论架构“拍桌子”大喊的情况。
| 全栈 占比 | 技术点 | 学习目标 |
|---|---|---|
| 代码管理 | Git安装 代码时光机 多人合作 分支特性 远程仓库 |
远程仓库 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 其中很多的特性相较于svn,cvs更加的强大,特别是分支特性,更好的维护产品代码,保证代码的健壮性。 |
| 团队协作 | 文档管理 设计图管理 团队人员分工 员工沟通技巧 |
团队协作是团队运作非常重要的一个环节,直接影响整个项目能否顺利完成。其中还包括员工的沟通,考核以及后续的升职加薪。 |
| 项目开发流程 | 原型制作 设计图制作 数据库设计 框架开发 测试 上线 |
了解整个项目的开发流程对开发人员有着非常重要的意义,开发人员可以在宏观角度来认识项目,并提高和其他部门之间的配合,为后续的升职加薪做好准备。 |
| 客户沟通 | 客户沟通 项目定价 合同制作 产品分析 |
客户是公司生存的经济来源,与客户的沟通显得至关重要,企业技术总监亲自讲述与客户沟通的那些事。 |
|
项目实战:10个商业项目二次开发 智校云三年来已经自主研发并上线几十个商业项目,从中挑选10个不同类型的精品项目给到实习程序员,这10个商业项目总价值不会低于500万。会给你源代码学习和个人使用。但源码不可以在网络上公开,不可以私自用于商业用途,需要通过公司商业授权。 这10个项目不但给你源码,还会由参与这些项目开发的技术总监为你讲解项目的背景、需求、安装和使用,并详细分析项目架构和功能模块,并教会你进行二次开发,可以为项目扩展、修改或删减功能,并上线运行变成自己的项目。 |
||
