课程试听
阶段一 web前端(基础)
展开第一章 HTML

1-1 认识网页、浏览器和内核

- 01-基础班学习目标 免费试学
- 02-认识网页 免费试学
- 03-常见浏览器 免费试学
- 04-常见浏览器内核 免费试学
1-2 web标准及组成

- 05-为什么要web标准 免费试学
- 06-web标准组成 免费试学
1-3 html初识及标签分类

- 07-HTML初识 免费试学
- 08-HTML骨架标签 免费试学
- 09-HTML标签分类 免费试学
- 10-HTML标签关系 免费试学
- 11-代码开发工具 免费试学
1-4 html文档声明与约定

- 12-DOCTYPE和lang 免费试学
- 13-字符集 免费试学
- 14-标签的语义化的目的 免费试学
1-5 排版与文本格式化标签

- 15-标题标签 免费试学
- 16-段落标签和水平线标签 免费试学
- 17-换行标签 免费试学
- 18-div和span标签以及总结 免费试学
- 19-文本格式化标签 免费试学
1-6 标签属性

- 20-图像标签(上) 免费试学
- 21-图像标签(下) 免费试学
- 22-图像标签总结 免费试学
1-7 链接与路径

- 23-链接标签(上) 免费试学
- 24-链接标签(下) 免费试学
- 25-注释标签 免费试学
- 26-相对路径(上) 免费试学
- 27-相对路径(下) 免费试学
- 28-绝对路径 免费试学
1-8 今日排版案例

- 29-综合案例(上) 免费试学
- 30-综合案例(下) 免费试学
1-9 锚点定位与特殊字符

- 31-锚点定位 免费试学
- 32-base标签 免费试学
- 33-预格式化标签 免费试学
- 34-特殊字符 免费试学
- 35-作业和预习 免费试学
1-10 表格及表格属性

- 01-目标以及表格目的 免费试学
- 02-创建表格 免费试学
- 03-表格属性 免费试学
- 04-表头单元格标签 免费试学
- 05-表格标题标签 免费试学
1-11 表格案例

- 06-今日小说榜案例 免费试学
1-12 表格-合并单元格

- 07-合并单元格(上) 免费试学
- 08-合并单元格(下) 免费试学
1-13 表格总结与划分

- 09-表格总结 免费试学
- 10-表格划分结构 免费试学
1-14 列表

- 11-列表(上) 免费试学
- 12-列表(下) 免费试学
1-15 表单及属性

- 13-用户名和密码 免费试学
- 14-name属性单选和复选按钮 免费试学
- 15-表单按钮组 免费试学
- 16-input属性总结 免费试学
- 17-label标签 免费试学
- 18-textarea文本域标签 免费试学
- 19-select下拉列表 免费试学
1-16 form表单域

- 20-form表单域标签 免费试学
1-17 世纪佳缘综合案例

- 21-综合案例注册页面(一) 免费试学
- 22-综合案例注册页面(二) 免费试学
- 23-综合案例注册页面(三) 免费试学
- 24-综合案例注册页面(四) 免费试学
1-18 查阅文档与总结

- 25 查阅文档 免费试学
- 26 复习和总结 免费试学
第二章 CSS

2-1 css介绍

- 01-HTML的局限性
- 02-CSS作用以及初识
2-2 css三大样式表及规则

- 03-行内样式表
- 04-内部样式表
- 05-外部样式表(样式共享)
- 05-外部样式表(结构样式分离)
- 06-样式表总结以及代码约定
2-3 css基础选择器

- 07-总结CSS样式规则
- 08-CSS选择器作用
- 09-标签选择器
- 10-类选择器
- 11-Google案例
- 12-类选择器特殊用法(多类名)
- 13-id选择器以及和类选择器区别
- 14-通配符选择器
2-4 font字体的设置

- 15-基础选择器总结
- 16-font-size字号
- 17-font-family 字体
- 18-字体特殊写法(unicode)
- 19-font-weight字体加粗
- 20-font-style字体风格
- 21-字体综合写法
- 22-font总结
- 23-综合案例-结构搭建
2-5 css外观属性

- 24-综合案例-font样式
- 25-color颜色
- 26-综合案例-颜色
- 27-文字水平居中和行间距
- 28-text-indent首行缩进
- 29-text-decoration文本装饰
2-6 chrome调试工具和emmet语法

- 30-css外观属性总结
- 31-chrome调试工具
- 32-emmet语法
- 33-今日总结
2-7 css复合选择器

- 01-今日主线
- 02-后代选择器
- 03-子元素选择器
- 04-交集选择器
- 05-并集选择器
- 06-测试题
2-8 css链接伪类选择器

- 07-链接伪类选择器(上)
- 08-链接伪类选择器(下)
- 09-复合选择器总结
2-9 标签的显示模式和转换

- 10-什么是标签显示模式
- 11-块级元素
- 12-行内元素
- 13-行内块元素
- 14-三种显示模式总结
- 15-三种显示模式相互转换
- 16-简单导航栏案例
2-10 行高的测量和使用

- 17-行高的测量
- 18-单行文本垂直居中
2-11 css背景background

- 19-背景颜色和图片
- 20-背景平铺
- 21-背景位置-方位词
- 22-背景位置-精确单位
- 23-魔兽世界背景练习
- 24-小背景图片左侧对齐盒子
- 25-背景固定
- 26-背景简写
- 27-导航栏案例(上)
- 28-导航栏案例(下)
- 29-背景透明
- 30-背景总结
2-12 css三大特性

- 31-层叠性
- 32-继承性
- 33-权重计算公式
- 34-权重的叠加
- 35-权重没有进位的
- 36-继承的权重为0
- 37-6道精华题
- 38-今日总结
2-13 盒子模型的介绍

- 01-今日目标
- 02-看透网页布局的本质
- 03-盒子模型组成
2-14 盒子的边框

- 04-边框的写法
- 05-分别指定边框
- 06-细线表格
2-15 盒子的内边距

- 07-padding内边距
- 08-课堂一练
- 09-新浪导航栏(上)
- 10-新浪导航栏(下)
- 11-计算盒子实际大小
- 12-课堂一练计算题
- 13-padding不影响盒子大小的情况
2-16 盒子的外边距

- 14-margin外边距
- 15-块级盒子水平居中
- 16-文字居中和盒子居中
- 17-插入图片和背景图片区别
- 18-清除元素默认的内外边距
2-17 外边距合并问题

- 19-并列垂直外边距合并
- 20-嵌套垂直外边距合并
- 21-网页布局的稳定性
2-18 ps操作及综合案例

- 22-ps基本操作和快捷键
- 23-综合案例-新闻列表box制作
- 24-综合案例-新闻列表box添加padding
- 25-综合案例-新闻列表标题制作
- 26-综合案例-新闻列表列表制作
- 27-综合案例-新闻列表三角箭头
- 28-综合案例-新闻列表案例完成
- 29-今日总结
2-19 圆角边框和盒子阴影

- 30-拓展-圆角边框
- 31-拓展-盒子阴影
- 32-CSS书写规范
2-20 css浮动介绍

- 01-今日目标
- 02-网页布局的三种机制
- 03-为什么需要浮动
- 04-浮动实现文字环绕图片
2-21 浮动的特点和应用

- 05-浮动口诀之浮
- 06-浮动口诀之漏
- 07-浮动口诀之特
- 08-浮动总结
- 09-浮动元素与标准流父级搭配
- 10-小米案例分析
- 11-小米案例(上)
- 12-小米案例(下)
- 13-导航栏案例(上)
- 14-导航栏案例(中)
- 15-导航栏案例(下)
2-22 浮动的扩展

- 16-浮动元素与父盒子的关系
- 17-浮动元素与兄弟盒子的关系
2-23 清除浮动

- 18-为什么要清除浮动-标准流会撑开盒子
- 19-为什么要清除浮动-浮动不会撑开盒子
- 20-清除浮动的本质
- 21-清除浮动之额外标签法
- 22-清除浮动之父级overflow
- 23-简单了解overflow
- 24-清除浮动之after伪元素
- 25-双伪元素清除浮动
- 26-清除浮动总结
2-24 photoshop切图和总结

- 27-pink的秘密
- 28-常见的图片格式
- 29-ps切片工具使用
- 30-利用图层切图
- 31-利用辅助线切图
- 32-cutterman插件安装
- 33-cutterman插件使用
- 34-今日总结
2-25 学成在线排版项目

- 01-今日目标
- 02-学成在线准备工作
- 03-css属性书写顺序
- 04-布局流程以及案例分析
- 05-header盒子制作
- 06-logo模块制作
- 07-nav模块制作(上)
- 08-nav模块制作(下)
- 09-search模块-input
- 10-search模块-button
- 11-user模块制作
- 12-banner盒子制作
- 13-subnav盒子制作(上)
- 14-subnav盒子制作(下)
- 15-course盒子制作
- 16-course头部制作
- 17-course主体li制作
- 18-全部课程模块制作
- 19-goods盒子制作
- 20-goods盒子内容制作(上)
- 21-goods盒子内容制作(下)
- 22-box模块制作
- 23-box-hd模块制作
- 24-box-bd模块制作(上)
- 25-box-bd解决多余外边距问题
- 26-精品推荐模块完成
- 27-实际开发中清除浮动
- 28-footer盒子制作
- 29-copyright模块制作
- 30-links模块制作
- 31-chrome排查错误
- 32-常见错误
2-26 定位的简单使用·

- 01-今日目标
- 02-为什么要用定位
- 03-边偏移
- 04-定位模式
2-27 定位的三种模式

- 05-相对定位移动位置
- 06-相对定位保留位置
- 07-绝对定位-父级无定位则以浏览器文档为准
- 08-绝对定位-父级有定位则以父级为准
- 09-绝对定位不占有位置
- 10-子绝父相的由来
- 11-子绝父相代码验证
- 12-哈根达斯案例
- 13-固定定位
- 14-仿新浪导航固定广告案例
2-28 定位扩展

- 15-绝对定位的盒子居中对齐
- 16-z-index堆叠顺序
- 17-定位改变display属性
- 18-仿新浪导航固定广告头部完善
- 19-浮动和定位能防止外边距合并
2-29 定位案例淘宝轮播图

- 20-淘宝轮播图大盒子布局
- 21-淘宝轮播图左侧按钮布局
- 22-淘宝轮播图-设置圆角4个角
- 23-淘宝轮播图-右侧按钮制作
- 24-淘宝轮播图-并集选择器
- 25-淘宝轮播图ul盒子制作
- 26-淘宝轮播图圆点制作-优先级
2-30 定位总结

- 27-定位总结
- 28-学成在线添加hot定位
- 29-学成在线添加固定定位
- 30-网页布局总结
2-31 元素的显示与隐藏

- 01-今日目标
- 02-display显示与隐藏
- 03-visibility显示与隐藏
- 04-overflow溢出隐藏
- 05-显示与隐藏总结
- 06-仿土豆显示与隐藏(上)
- 07-仿土豆显示与隐藏(下)
2-32 CSS用户界面样式

- 08-用户界面-鼠标样式
- 09-用户界面-轮廓线
- 10-用户界面-防止拖拽文本域
- 11-用户界面-总结
2-33 额外的技巧介绍

- 12-vertical实现图片和文字垂直对齐
- 13-去除图片底侧空白缝隙
- 14-溢出的文字省略号显示
2-34 CSS精灵技术

- 15-我们为什么需要CSS精灵技术
- 16-CSS精灵技术使用核心
- 17-拼出自己的名字
- 18-制作精灵图(了解)
2-35 滑动门原理

- 19-滑动门原理(上)
- 20-滑动门原理(下)
- 21-微信导航栏案例(上)
- 22-微信导航栏案例(中)
- 23-微信导航栏案例(下)
2-36 margin负值之美与京东三角形

- 24-margin负值可以压住相邻盒子边框
- 25-突出显示某个盒子
- 26-突出显示某个盒子继续
- 27-CSS三角形之美
- 28-仿京东三角效果
第三章 品优购

3-1 品优购代码规范与前期准备

- 01-品优购项目介绍
- 02-代码规范
- 03-品优购项目准备工作
3-2 字体图标的介绍

- 04-favicon图标使用
- 05-favicon图标制作
3-3 字体图标的使用

- 06-网页优化三大标签
- 07-字体图标介绍
- 08-下载字体图标
- 09-使用字体图标
- 10-追加字体图标
3-4 首页快捷导航栏制作

- 11-品优购首页shortcut开始
- 12-品优购shortcut左侧制作
- 13-品优购shortcut右侧制作
- 14-品优购shortcut三角做法
3-5 首页头部header制作

- 15-品优购首页header盒子制作
- 16-品优购首页logo盒子制作
- 17-品优购首页logo优化(上)
- 18-品优购首页logo优化(下)
- 19-品优购首页search表单
- 20-品优购首页search按钮
- 21-品优购首页hotwords制作
3-6 首页购物车制作

- 22-品优购首页shopcar制作
- 23-品优购首页购物车统计(上)
- 24-品优购首页购物车统计(下)
- 25-品优购首页nav制作
3-7 品优购首页nav和footer脚部制作

- 01-品优购首页全部商品分类制作
- 02-品优购首页详细分类(上)
- 03-品优购首页详细分类(中)
- 04-品优购首页详细分类(下)
- 05-品优购首页navitems制作
- 06-品优购首页footer盒子制作
3-8 品优购首页主体布局(上)

- 07-品优购首页mod_service(上)
- 08-品优购首页service图标
- 09-品优购首页service(下)
- 10-品优购首页help模块(上)
- 11-品优购首页help模块(下)
- 12-品优购首页版权模块
- 13-品优购首页main制作
- 14-品优购首页focus和newsflash划分
- 15-品优购首页focus制作(上)
- 16-品优购首页focus制作(下)
- 17-品优购首页newflash制作
- 18-品优购首页news-hd制作
- 19-品优购首页news-bd制作
- 20-品优购首页lifeservice制作
- 21-品优购首页service_ico制作
- 22-品优购首页service完成
- 23-品优购首页推荐模块(上)
- 24-品优购首页推荐模块(下)
3-9 品优购首页主体布局(下)

- 01-品优购首页楼层区floor分析
- 02-品优购首页box-hd制作(上)
- 03-品优购首页box-bd制作(下)
- 04-品优购首页tab栏原理
- 05-品优购tab-con(上)
- 06-品优购tab-con(上)
- 07-品优购tab-con(下)
- 08-品优购首页电梯导航(上)
- 09-品优购首页电梯导航(下)
- 10-过渡效果(上)
- 11-过渡效果(下)
- 12-给首页添加过渡效果
3-10 品优购列表页制作

- 13-品优购列表页结构搭建
- 14-品优购列表页秒杀制作
- 15-品优购列表页导航栏(上)
- 16-品优购列表页导航栏(下)
- 17-品优购列表页内容区域
- 18-品优购列表页sk_goods制作(上)
- 19-品优购列表页sk_goods制作(中)
- 20-品优购列表页进度条做法
- 21-品优购列表页sk_goods制作(下)
- 22-品优购列表页修改sk_goods位置
- 23-品优购列表页分页制作(上)
- 24-品优购列表页分页制作(中)
- 25-品优购列表页分页制作(下)
- 26-focus伪类选择器-获得焦点元素
3-11 品优购详情页面初步搭建

- 27-品优购详情页页面搭建
- 28-品优购三个页面相互链接
3-12 品优购详情页面制作

- 01-品优购详情页引入样式文件
- 02-品优购详情页面包屑导航
- 03-品优购详情页产品介绍盒子搭建
- 04-品优购详情页产品介绍盒子实体化
- 05-品优购详情页预览区(上)
- 06-品优购详情页预览区(中)
- 07-品优购详情页预览区(下)
- 08-品优购详情页产品详细信息sku和news
- 09-品优购详情页详细价格(上)
- 10-品优购详情页详细价格(中)
- 11-品优购详情页详细价格(下)
- 12-品优购详情页促销模块
- 13-品优购详情页选择颜色模块
- 14-品优购详情页购买方式模块
- 15-品优购详情页加入购物车模块
- 16-品优购详情页统计数量模块
- 17-品优购详情页产品细节模块布局
- 18-品优购详情页左侧tab栏(上)
- 19-品优购详情页左侧tab栏(下)
- 20-品优购详情页aside结束
- 21-品优购详情页detail制作(上)
- 22-品优购详情页detail制作(下)
3-13 品优购注册页制作

- 23-品优购注册页面结构搭建
- 24-品优购注册页header制作
- 25-品优购注册页H3制作
- 26-品优购注册页表单制作(上)
- 27-品优购注册页表单制作(下)
- 28-品优购注册页安全模块制作
- 29-品优购注册页同意模块制作
- 30-品优购注册页完成注册
- 31-品优购注册页面底部制作
- 32-课程总结
阶段二 前端进阶
展开第一章 JS基础

1-1 JS简介

- 1-JS简介 免费试学
- 2-js发展历史 免费试学
- 3-js组成 免费试学
- 4-入门演示 免费试学
1-2 变量与数据类型

- 5-变量的声明 免费试学
- 6-变量的命名规则规范 免费试学
- 7-交换两个变量的值 免费试学
- 8-代码调试(输出变量的值-三个办法) 免费试学
- 9-数据类型 免费试学
- 10-数值Number类型 免费试学
- 11-字符串String类型 免费试学
- 12-字符串长度和拼接运算 免费试学
- 13-布尔类型和undefined和null 免费试学
- 14-注释 免费试学
- 15-转化为字符串类型3个方法 免费试学
- 16-转化为数值类型 免费试学
- 17-转化为布尔类型 免费试学
1-3 运算符

- 18-自增自减运算符1 免费试学
- 19-自增自减运算符2 免费试学
- 20-逻辑运算符 免费试学
- 21-关系运算符 免费试学
- 22-赋值运算符与运算符优先级 免费试学
- 总结 免费试学
1-4 循环判断应用

- 00-复习 免费试学
- 01-课程介绍 免费试学
- 02-if分支 免费试学
- 03-if-else双分支 免费试学
- 04-if-else if多分支 免费试学
- 05-注意问题:分支表达式顺序 免费试学
- 06-三元运算(双分支) 免费试学
- 07-分支结构switch-case 免费试学
- 08-分支结构总结 免费试学
- 09-循环结构 免费试学
- 10-while循环 免费试学
- 11-do while循环 免费试学
- 12-循环案例-画星星-九九乘法表 免费试学
- 13-九九乘法表-扩展-加table标签 免费试学
- 14-循环总结 免费试学
1-5 数组

- 15-数组 免费试学
- 1-break和continue 免费试学
- 2-数组基本使用 免费试学
- 3-数组遍历 免费试学
- 4-数组小结 免费试学
1-6 函数

- 5-函数的声明及调用 免费试学
- 6-函数参数 免费试学
- 7-函数返回值 免费试学
- 8-函数可以作为参数 免费试学
1-7 js作用域

- 9-变量提升和函数预加载效果 免费试学
- 10-js的运行流程 免费试学
- 11-声明变量-定义函数-赋值的顺序 免费试学
- 12-作用域的特点 免费试学
- 13-作用域链 免费试学
- 14-对象的概念及字面量语法定义对象 免费试学
- 15-对象的基本使用 免费试学
- 作业及复习 免费试学
- 总结 免费试学
1-8 对象与标准库

- 1-构造函数方式定义对象 免费试学
- 2-构造函数中this的值 免费试学
- 3-构造函数及普通函数中this值 免费试学
- 4-遍历对象for in语法 免费试学
- 5-内置对象说明 免费试学
- 6-Math对象的成员 免费试学
- 7-Date日期对象 免费试学
- 8-Array数组对象 免费试学
- 9-String字符串对象 免费试学
- 10-包装对象以及instanceof用法 免费试学
第二章 JS浏览器API

2-1 Dom操作基础

- 0.1.复习
- 0.2.浏览器API简介
- 0.3.获取节点对象的方法
- 0.4.控制CSS宽高及背景色样式
- 0.5.案例1
- 0.6.改变图片大小
- 0.6.显示和隐藏
2-2 事件绑定

- 0.7.事件绑定
- 0.8.事件的绑定方式
- 0.9.事件类型
- 1.0.事件的传播
- 1.1.事件对象和事件委托
- 1.2.事件委托案例
- 1.3.事件对象的其他属性
- 1.4.事件传播及默认行为的阻止
- 1.5.根据文本长度变化背景颜色
- 1.6.跟随鼠标
- 0.1.回顾
- 0.2.事件移除
- 0.3.实时获取坐标位置-案例
- 0.4.节点操作1
- 0.5.添加图片案例
- 0.6.添加文本框
- 0.7.属性操作
- 0.8.上午回顾
- 0.9.节点操作2
- 1.0.获取style样式
- 1.1.点击增大的div
- 1.2.各行变色
- 1.3.全选与全不选
- 0.0.回顾
- 0.2.反选案例
- 0.3.鼠标悬浮变色
- 0.4.可编辑表格
- 0.5.点击事件冲突的问题
- 0.6.无刷新评论
- 0.7.DOM操作总结回顾
- 0.8.对话框
- 0.9.控制台输出
- 1.0.定时器和倒时器
- 1.1.摇摆的图片
- 1.2.飞走的图片
2-3 Bom基础

- 1.3.location对象
- 1.4.history对象
- 1.5.navigator对象
- 1.6.DOM与BOM操作总结
- 1.7.作业和预习安排
第三章 JS高级

3-1 语言特性

- 0.1.JS重新简介
- 0.2.JS基础语法复习
- 0.3.浏览器API的复习
- 0.4.JS高级概览
- 0.5.面向对象概述
- 0.6.类与对象
- 0.7.JS中的面向对象体系
- 0.8.对象的声明及调用
- 0.9.构造函数的基本声明及使用
- 1.0.new的步骤
- 1.1.变量及数据值
- 1.2.上午回顾
- 1.3.构造函数与对象的关系
- 1.4.构造函数的问题
- 1.5.原型数据共享
- 1.6.获取原型的方法
- 1.7.原型及构造函数
- 1.8.prototype指向改变的后果
- 0.2.原型数据的修改及对实例对象的影响
- 0.3.修改原型指向及对比
- 0.4.原型链
- 0.5.内置对象的原型修改和添加(猴子补丁技术)
- 0.6.原型链的使用建议
- 0.7.原型链继承
- 0.8.函数的声明
- 0.9.第一等公民-函数
- 1.0.上午回顾
- 1.1.函数的形参和实参
- 1.2.函数的返回值
- 1.3.递归的基本原理
- 1.4.递归案例
- 1.5.无限递归死循环的尝试
- 1.6.作用域与作用域链
- 1.7.函数及作用域问题1
- 1.8.函数自身的作用域
- 0.2.闭包与垃圾回收机制
- 0.3.闭包与垃圾回收机制
- 0.4.闭包的使用注意
- 0.5.闭包点赞案例
- 0.6.上午回顾
- 0.7.this指向的引入
- 0.8.this的执行原理
- 0.9.this的使用
- 1.0.固定this的三种方式
- 1.1.class类的使用
- 1.2.类中的构造方法
- 1.3.变量提升
- 1.4.冒充继承
- 1.5.创建新对象
- 1.6.类的继承
- 1.7.游戏原理思路解析
- 0.2.游戏1-静态页布局
- 0.3.向下滚动
- 0.4.补齐div
- 0.5.游戏4-面向对象封装
- 0.6.初始化随机黑块
- 0.7.游戏6-合并div创建方法
- 0.8.节点id属性自动获取
- 0.9.不写注释会被枪毙
- 1.0.游戏8-点击加分
- (补充1)通过bind方法解决点击停止功能
- 1.1.游戏9-游戏停止的另一个解决方案
- (补充2)通过that=this解决点击?停止功能游戏
- 1.2.游戏结束后的处理
- 1.3.游戏加速
- 1.4.黑块漏点
- 1.5.作业
3-2 正则表达式

- 0.2.好好学习
- 0.3.正则概述
- 0.4.第一个正则
- 0.5.正则对象及正则对象的方法
- 0.6.正则验证数字
- 0.7.字符串对象中的方法
- 0.8.反向引用
- 0.9.查什么
- 1.1.查什么
- 1.2.限定符-查多少
- 1.3.定位符
- 1.4.匹配模式
- 1.5.邮箱
- 1.6.或者的用法
- 1.7.正则
第四章 Es6

4-1 Es6

- 0.1.ES6简介
- 0.2.let声明变量
- 0.3.常量的声明及使用
- 0.4.解构赋值
- 0.5.模板字符
- 0.6.对象的扩展
- 0.7.箭头函数
第五章 jQuer基础及应用

5-1 Jq基础及应用

- 0.1.认识jQ
- 0.2.下载及人事jQ
- 0.3.引入Jq
- 0.4.基础选择器
- 0.5.层级选择器
- 0.6.基本选择器
- 0.7.内容选择器
- 0.8.属性选择器
- 0.9.表单选择器
- 1.0.点名抽查选择器
- 1.1.jq对象与原生DOM对象
- 1.2.jq中属性操作
- 1.3.class属性操作
- 1.4.CSS样式操作
- 1.5.横纵坐标的位置
- 1.6.宽高操作
- 1.7.文本及表单值
- 1.8.事件绑定
- 1.9.jq中事件的封装
- 2.0.事件切换
- 2.1.事件处理
- 0.1.学习工具之单词大作战
- 0.2.隐藏和展示
- 0.3.滑动效果
- 0.4.淡入淡出效果
- 0.5.自定义动画
- 0.6.内部插入
- 0.7.外部插入
- 0.8.删除操作
- 0.9.克隆操作
- 1.0.替换操作
- 1.1.包裹
- 1.2.查找
- 1.3.上午复习
- 1.4.任务清单案例
- 1.5.添加任务
- 1.6.完成任务1
- 1.7.已完成任务操作
- 1.8.为元素扩展新方法
- 1.9.为jq写插件
- 2.0.插件案例
- 2.1.each方法
- 2.2.附加
第六章 Node

6-1 Node基础编程

- 0.3.Node简介
- 0.4.Node环境安装
- 0.5.REPL环境
- 0.6.node运行JS代码文件
- 0.7.Node中模块的划分
- 0.8.读取文件内容
- 0.9.写入文件内容
- 1.0.追加写入
- 1.1.操作json数据
- 1.2.删除指定数据
- 1.3.客户端-服务器-网络通信的概念
- 2.0.域名网络通信ip等
- 2.1.http部分
- 2.2.极简服务器搭建
- 0.4.服务器回顾
- 0.5.响应数据类型及编码
- 0.6.响应html文件内容
- 0.7.浏览器的网络调试工具
- 0.8.请求及处理
- 0.9.响应静态页面和图片
- 1.0.响应其他静态资源
- 1.1.获取文件属性
- 1.2.格式化时间及第三方模块的使用
- 1.3.项目初始化
- 1.4.package.json文件
- 1.5.解决npm被墙的问题
- 1.6.npm命令
- 1.7.第三方模块
- 1.8.commonJS规范
- 1.9.模块化的使用细节
- 2.0.数据导出
- 2.1.模块加载策略
- 2.2.服务器模块化拆分
- 2.3.控制器模块
- 2.4.nodemon重启工具
6-2 Node案例应用

- 0.2.加载静态资源
- 0.3.数据操作和页面整合
- 0.4.动态展示首页数据
- 0.5.模板引擎及模板引擎的原理
- 0.6.art-template的入门和使用
- 0.7.url地址及解析
- 0.8.展示单个用户数据
- 0.9.修改的思路
- 1.0.展示修改页面
- 1.1.上午复习
- 1.2.HTTP请求语义
- 1.3.get和post的具体使用
- 1.4.get和post的数据传输
- 1.5.接收post数据原理
- 1.6.完成修改功能
- 0.1.服务器搭建
- 0.2.首页数据列表展示
- 0.3.查看单个用户信息
- 0.4.修改用户信息
- 0.5.删除用户信息
- 0.6.添加用户信息
- 0.7.文件上传
第七章 Ajax基础及应用

7-1 ajax基础

- 0.2.添加用户
- 0.3.ajax请求
- 0.4.对象的属性和方法
- 0.5.ajax对象的兼容性问题
- 0.6.异步与同步的概念
- 0.7.判断用户名是否可用
- 0.8.发送post请求
- 0.9.Ajax的封装
- 1.0.异步回调
- 1.1.跨域及jsonp
- 1.2.CORS跨域资源共享
7-2 ajax应用及封装

- 0.1.副词
- 0.2.状态码的改变
- 0.3.服务器的ajax响应
- 0.4.jq对ajax的get的封装
- 0.5.jq对ajax的post的封装
- 0.6.jq对ajax的底层封装
- 0.7.前段渲染与后端渲染
- 0.8.服务器搭建
- 0.9.上午复习
- 1.0.首页前段渲染
- 1.1.拆分两台服务器
- 1.2.获取单个用户信息
- 1.3.获取单个用户信息
- 1.4.前端-删除
- 1.5.删除后台
- 1.6.总结
第八章 vue

8-1 Vue基础语法

- 0.1.工程发展史
- 0.2.认识vue
- 0.3.vue实例对象
- 0.4.插值表达式
- 0.5.认识指令
- 0.6.v-text和v-html
- 0.7.v-bind属性绑定1
- 0.8.v-bind控制class
- 0.9.v-bind控制style和简写
- 1.0.上午回顾
- 1.1.单项数据绑定
- 1.2.双向数据绑定
- 1.3.v-model的使用
- 1.4.事件绑定和传值
- 1.5.事件绑定
- 1.6.事件修饰符
- 1.7.v-show
- 1.8.v-if-else-fi-else
- 1.9.v-for循环
- 2.0.v-cloak
- 2.1.v-once
- 2.2.作业
8-2 vue应用

- 0.2.todo项目介绍
- 0.3.功能分析和页面整理
- 0.4.文本框数据获取及事件绑定
- 0.5.完成添加任务
- 0.6.完成任务
- 0.7.删除任务
- 0.8.删除已完成任务
- 0.9.MVC与MVVM
- 1.0.计算属性
- 1.1.侦听器
- 1.2.ref操作dom
- 1.3.过滤器
- 1.4.全局过滤器
- 1.5.自定义指令
- 1.6.自定义指令的传值
- 1.7.动画与过度
- 0.2.json-server的作用
- 0.3.postman的使用
- 0.4.如何在vue中使用ajax
- 0.5.vue与jq封装的ajax
- 0.6.vue与axios
- 0.7.axios实现增删改查
- 0.8.重构todo
- 0.9.添加任务
- 1.0.删除任务
- 1.1.完成任务
- 1.2.上午复习
- 1.3.清除已完成的任务
- 1.4.组件的概念和基本使用
- 1.5.组件的使用注意
- 1.6.组件的应用
- 1.7.组件就是实例对象
- 1.8.子组件与父组件的概念
- 1.9.父子组件传值
- 2.0.声明周期及狗子函数
8-3 Vue项目开发

- 0.3.spa单页应用
- 0.4.组件的基本概念和使用
- 0.5.router-link
- 0.6.动态路由匹配
- 0.7.cli的使用和vue项目构建
- 0.8.运行项目及esLint代码规范
- 0.9.目录结构
- 1.0.页面组件的加载
- 1.1.上午复习
- 1.2.程序运行加载复习
- 1.3.写自己的路由和组件
- 1.4.vue重构海贼王项目
- 1.5.首页数据获取展示
- 1.6.首页数据获取展示-2
- 1.7.显示单个用户数据
- 1.8.修改用户数据1
- 1.9.修改用户数据2
- 2.0.修改3
- 2.1.作业
- 0.3.删除
- 0.4.添加用户
- 0.5.文件上传
- 0.6.ajax文件上传
- 0.7.vue实现文件上传
- 0.8.上午复习
- 0.9.导入数据库
- 1.0.启动后台接口服务器
- 1.1.项目示例启动
- 1.2.搭建项目架构-第一次发送请求
- 1.3.element-ui的使用
- 1.4.登录页样式布局
- 1.5.axios的初级封装
- 0.3.封装vue插件
- 0.4.创建自定义axios实例对象
- 0.5.验证机制
- 0.6.完成登录逻辑
- 0.7.主页布局和头部样式
- 0.8.嵌套路由(子路由)的用法
- 0.9.侧边栏获取遍历
- 1.0.首页登录判断
- 1.1.退出登录
- 1.2.用户列表布局1
- 1.3.用户列表战术
- 1.4.搜索
- 1.5.添加用户
- 1.6.用户状态的展示
- 1.7.状态设置成功
- 1.8.axios拦截器
- 1.9.删除用户
- 0.2.修改用户数据
- 0.3.修改用户角色
- 0.4.分配用户角色
- 0.5.分页
- 0.6.中午作业
- 0.7.上午复习
- 0.8.获取权限列表
- 0.9.角色及权限的展示
- 1.0.展示角色权限
- 1.1.添加角色
- 1.2.删除角色
- 修改角色信息
- 0.3.树状结构展示全部权限
- 0.4.分配权限
- 0.5.删除指定权限
- 0.6.删除角色拥有的权限
- 0.2.导航守卫
- 0.3.表单验证
- 0.4.echarts图标
- 0.5.echarts入门
- 0.6.vue中使用echarts
- 0.7.数据渲染
- 0.8.项目打包
阶段三 核心编程
展开第一章 PHP-基础

1-1 WAMP环境的搭建

- 00WAMP环境的安装 免费试学
- 01静态网站与动态网站&访问过程 免费试学
- 02创建站点 免费试学
- 03默认首页 免费试学
- 04列出目录结构 免费试学
- 05启用外部配置文件 免费试学
- 06访问控制 免费试学
1-2 PHP简介

- 07php简介 免费试学
- 08php变量的操作 免费试学
- 09可变变量 免费试学
- 10预定义变量 免费试学
1-3 php常量

- 01常量 免费试学
- 02魔术常量 免费试学
1-4 php数据类型

- 03整数&浮点数 免费试学
- 04字符串类型 免费试学
- 05布尔类型 免费试学
- 06array类型&null类型 免费试学
- 07数据类型的判断&转换 免费试学
- 08isset&empty 免费试学
- 09php输出语句 免费试学
1-5 php中运算符

- 10算术运算符&自操作运算符 免费试学
- 11赋值运算符 免费试学
- 12字符串运算符 免费试学
- 13比较运算符 免费试学
- 14逻辑运算符 免费试学
- 15三元运算符&null合并 免费试学
1-6 传值类型

- 01传值类型 免费试学
1-7 流程控制

- 02分支结构_if分支 免费试学
- 03分支结构_switch分支 免费试学
- 04循环结构_for循环 免费试学
- 05循环结构_while循环 免费试学
- 06循环结构_do_while循环 免费试学
- 07循环的退出与继续 免费试学
1-8 php中的数组

- 08关联数组与索引数组 免费试学
- 09数组指针操作 免费试学
- 10foreach语法 免费试学
- 11二维数组 免费试学
1-9 php模板标签语法

- 12php标签语法 免费试学
1-10 函数

- 13函数 免费试学
- 14形参默认值 免费试学
- 15实参的引用传递 免费试学
- 16可变函数 免费试学
- 17匿名函数 免费试学
1-11 php7新特性

- 01形参的类型约束 免费试学
- 02php新特性 免费试学
1-12 作用域

- 03作用域&全局变量 免费试学
- 05局部变量 免费试学
- 06预定义变量 免费试学
- 07global关键字 免费试学
1-13 函数的执行原理

- 08函数的执行原理 免费试学
1-14 静态局部变量

- 09静态局部变量 免费试学
1-15 文件包含

- 10文件引入语法的区别 免费试学
- 11文件包含的路径问题 免费试学
1-16 php的执行阶段

- 12php文件的执行阶段 免费试学
1-17 php错误及日志

- 13php错误的分类 免费试学
- 14错误日志 免费试学
- 15php错误代码&php的3种错误处理机制 免费试学
- 16触发自定义的错误 免费试学
1-18 php系统API

- 17API函数_字符串 免费试学
- 18API函数_数字计算 免费试学
- 19API函数_日期时间 免费试学
- 20API函数_数组 免费试学
1-19 文件操作

- 01文件编程简介 免费试学
- 02文件操作_打开文件 免费试学
- 03文件操作_写文件 免费试学
- 04文件操作_读文件 免费试学
- 05iconv函数 免费试学
1-20 文件夹操作

- 06文件夹操作_创建文件夹 免费试学
- 07文件夹操作_读取文件夹 免费试学
- 09文件相关的判断 免费试学
- 10其他函数 免费试学
- 11遍历文件夹 免费试学
1-21 表单数据的接收

- 12前台数据的提交方式 免费试学
- 13后台数据的接收方式 免费试学
- 14特殊表单的设置 免费试学
- 15保存上传的文件 免费试学
- 16完善文件上传 免费试学
- 17封装文件上传函数 免费试学
- 18文件上传相关配置 免费试学
第二章 PHP-MySQL数据库

2-1 数据库简介

- 01数据库简介
- 02登陆MySQL
- 03数据库逻辑结构图
2-2 数据库操作

- 04创建数据库
- 05查看数据库创建语句&删除数据库
- 06设置通讯字符集&原理
- 07选择数据库
2-3 数据表操作

- 08查看数据表
- 09创建数据表
- 10查看表结构&查看创建语句&删除数据表
2-4 数据基本操作

- 11插入数据
- 12查询数据
- 13修改数据
- 14数据的删除
2-5 字段类型详解

- 15字段类型_数值类型
- 01字段类型_char&varchar
- 02字段类型_text
- 03字段类型_日期时间
2-6 字段属性详解

- 04null值
- 05not null约束
- 06default约束
- 07unique约束
- 08primary key
- 09auto_increment
- 10comment
2-7 字符集与校验集

- 11字符集与校验集
2-8 数据库的设计规范

- 12数据库的设计规范
2-9 主键冲突的解决方案

- 13主键冲突的解决方案
2-10 高级查询

- 14select选项&字段别名
- 15from数据源&表别名
- 16where子句
- 01group by子句
- 02多字段分组统计
- 03分组统计小结
- 04having子句
- 05order by子句
- 06limit子句
- 07limit子句
2-11 存储引擎

- 08存储引擎
2-12 外键

- 09外键的作用&创建
- 10外键约束
2-13 子查询

- 11子查询
- 12表子查询
- 13exists子查询
2-14 联合查询

- 01联合查询
2-15 连接查询

- 02内连接
- 03外连接
2-16 视图

- 04视图的基本语法
- 05视图的基本应用
- 06视图的基本操作
2-17 事务

- 07事务安全&执行流程
- 08事务安全
2-18 清空表

- 09delete&truncate
2-19 预处理

- 01预处理
2-20 数据库的备份与还原

- 02数据的备份与还原
2-21 php操作mysql

- 03php加载MySQL函数库
- 04查看php配置信息
- 05连接&设置字符集&选择数据库
- 06根据需求组织并执行sql
- 07关于mysqli_query的返回值
- 08解析结果集中的数据
第三章 项目练习

3-1 新闻项目

- 09新闻模块_搭建站点&创建项目目录
- 10显示后台首页
- 11显示新闻列表页面(首页)
- 12实现新闻的添加
- 13实现列表页面数据的显示
- 14实现查看新闻详情
- 15实现新闻的删除
- 01新闻的修改
- 02操作联动
- 03分页1
- 04分页2
- 05项目应用分页
第四章 PHP-面向对象

4-1 面向过程与面向对象的编程思想

- 06面向过程与面向对象编程思想
4-2 类与对象

- 07类与对象
4-3 类成员

- 08成员属性
- 09成员方法
- 10类常量
4-4 类成员的访问

- 11成员方法的访问
- 12成员属性的访问
- 13类常量的访问
- 14类与对象的内存关系
- 15可变属性与可变方法
4-5 静态成员

- 02静态属性
- 03静态属性的访问
- 04静态方法
4-6 魔术方法

- 05构造方法
- 06析构方法
- 07克隆方法
4-7 对象的比较与约束

- 08对象的比较与约束
4-8 封装性

- 09封装性
4-9 继承性

- 10继承的语法&继承的特点
- 11protected修饰符
- 12属性的继承
- 13方法的继承
- 14属性的重写
- 15方法的重写
- 16parent关键字
- 17重写的约束
- 18继承常用的逻辑
- 19静态延时绑定
4-10 多态性

- 01多态
4-11 抽象类与抽象方法

- 02抽象类与抽象方法
4-12 最终类与最终方法

- 03最终类与最终方法
4-13 封装mysql操作类

- 04封装MySQL数据库操作类
- 05MySQL数据库操作类的应用
4-14 接口

- 06接口
- 07Iterator系统接口
- 07接口的使用
4-15 php重载

- 08__set
- 09__get
- 10__call&__callstatic
4-16 设计模式

- 01单例模式
- 02工厂模式
4-17 trait

- 03trait
4-18 php7新特性

- 04Closure_call
4-19 类的自动加载

- 05__autoload自动加载函数
- 06spl_autoload_register注册自定义的加载函数
4-20 php 7新特性

- 07匿名类
4-21 序列化与反序列化

- 08序列化与反序列化
- 09对象的序列化
- 10对象的反序列化
4-22 命名空间

- 01命名空间快速入门
- 02定义命名空间
- 03空间成员
- 04空间成员的访问
- 05引入空间成员
- 06引入空间
- 07引入文件时命名空间的注意事项
4-23 PSR4类的加载

- 08PSR规范
- 09PSR4自动加载
第五章 PHP-核心编程

5-1 PDO基本操作

- 01PDO概述
- 02pdo执行增_删_改_获取新增记录id
- 03pdo执行查询操作
- 04PDOStatment解析结果集
5-2 PDO中的事务

- 05PDO中的事务
5-3 PDO中的预处理

- 06PDO中的预处理
- 07命名占位符
- 08为占位符绑定变量
5-4 其他方法简介

- 09其他方法
5-5 PDO中错误处理

- 10手动获取错误信息
- 11PDO的错误处理模式
- 12捕获并处理异常
- 13PDOException
5-6 封装PDO数据库操作类

- 14封装MyPDO数据库操作类
5-7 cookie

- 01cookie原理
- 02设置cookie
- 03设置cookie的有效时间
- 04设置cookie整站有效
- 05cookie跨域
- 06读取cookie&删除cookie
5-8 session

- 07session原理
- 08开启session机制
- 09session读写操作
- 10销毁session
- 11session相关配置
- 12sesion的垃圾回收机制
- 13cookie与session的区别
5-9 session项目应用

- 14php数据的使用范围
- 15实现登陆
- 16防SQL注入
- 17防翻墙
- 18实现注销
5-10 基本图形的绘制

- 01开启gd库的支持
- 02基本图形的绘制1
- 03基本图形的绘制2
5-11 验证码

- 04绘制验证码&封装验证码类
- 05验证码的应用
5-12 由图片生成画布

- 06由图片产生画布
5-13 封装水印函数

- 07封装水印函数
5-14 缩略图

- 08缩略图实现原理分析
- 09实现缩略图及封装缩略图函数
5-15 curl介绍

- 01curl简介
- 02CURLOPT_RETURTRANSFER
- 03curl常用的选项
5-16 Smarty模板引擎

- 04smarty模板引擎概念及原理
- 05模板变量&模板数据的来源
- 06数组与对象在模板文件中的访问方式
- 07变量调节器
- 08if函数
- 09foreach&cycle
- 10section函数
- 11smarty的配置
第六章 PHP-MVC设计模式

6-1 MVC简介

- 01MVC简介
6-2 单一入口简介

- 02单一入口(模块,项目)
6-3 自定义框架执行流程图

- 03自定义框架的执行流程图
6-4 框架初始化类文件

- 04搭建目录结构
- 05框架初始化类文件1
- 06解析url中的pca参数
6-5 框架实现自动加载

- 01psr0
- 02psr0项目应用
6-6 控制器

- 03控制器
6-7 模型

- 04模型
6-8 视图

- 05视图类
6-9 模板文件分目录存储

- 06模板文件分目录存储
6-10 公共模型类

- 07公共模型类
6-11 公共控制器类

- 08公共控制器类
6-12 登陆与注销

- 01显示登陆界面
- 02校验验证码与用户名
- 03显示后台首页
- 04更新用户登陆信息&后台首页显示用户信息
- 05注销登陆
- 06防止翻墙
6-13 类别管理

- 07类别管理首页
- 08类别的新增
- 09类别管理首页显示类别列表
- 10无限级分类查找类别关系
- 11类别添加界面显示所有类别
- 01trait应用
- 02删除类别
6-14 文章管理

- 03文章首页
- 04显示文章添加界面
- 05实现文章新增
- 06接收上传
- 07辅助函数
- 08ueditor的使用与配置
- 09项目应用在线编辑器
6-15 前台首页

- 10文章首页显示文章列表
- 11文章列表显示类另名与作者名
- 12显示前台首页
- 13前台首页显示文章数据
第七章 Restful

7-1 RestFul接口编程

- 01-前后端分离及接口编程
- 02-接口编程示例-商品列表发送ajax
- 03-商品列表ajax成功后的处理
- 04-商品添加功能
- 05-商品修改和删除
- 06-restful设计风格
- 07-资源路由与restful
- 08-前后端分离使用restful接口
- 09-请求伪装
- 10-Restful的实际使用
- 11-封装函数发送curl请求
- 12-模拟使用curl调用接口
- 13-查询空气质量
- 14-接口文档
第八章 ThinkPHP电商后端项目

8-1 控制器&模板整合

- 01-简介
- 02-框架概述
- 03-框架安装部署
- 04-框架目录结构
- 05-函数-配置-规范
- 06-框架的生命周期
- 07-控制器的定义及命名空间
- 08-url访问
- 09-url重写
- 10-调试模式
- 11-创建模型及命令行操作
- 12-请求对象
- 13-接收参数param方法
- 14-路由变量和get变量的区别
- 15-参数绑定
- 16-依赖注入
- 17-小结
- 18-框架中的视图
- 19-模板整合思路-后台首页
- 20-全局布局
- 21-后台登录页-临时关闭模板布局
- 22-静态资源路径不能使用相对路径
- 23-总结及作业
- 24-命令行的使用
8-2 模型&查询&添加&验证

- 00-作业
- 01-配置数据库信息
- 02-定义模型
- 03-查询多条数据
- 04-商品列表页-遍历数组输出数据
- 05-URL生成
- 06-查询一条数据
- 07-商品详情展示
- 08-where方法
- 09-连贯操作-链式操作
- 10-统计查询-字段查询-trace调试
- 11-小结练习
- 12-数据在模板中展示
- 13-数据的添加操作
- 14-商品添加功能
- 15-ueditor富文本编辑器
- 16-表单验证语法
- 17-独立验证
- 18-控制器验证
- 19-验证场景
- 20-总结
8-3 修改&删除&会话&验证码

- 00-作业
- 01-修改数据的语法
- 02-自动识别说明
- 03-商品修改功能
- 04-商品修改-表单验证及富文本编辑器
- 05-删除操作基本语法
- 06-软删除语法
- 07-商品删除功能
- 08-增删改查小结
- 09-id参数检测
- 10-封装密码加密函数
- 11-模板中的请求参数
- 12-cookie和session
- 13-session和cookie的使用
- 14-后台登录
- 15-登录检测
- 16-说明
- 17-验证码的显示
- 18-校验验证码
- 19-验证码标识
- 20-验证码类的介绍
- 21-总结和作业
8-4 分页&上传&composer&路由

- 01-分页语法
- 02-商品列表分页
- 03-商品列表-分页和查找
- 04-文件上传语法
- 05-商品logo图片上传
- 06-修改商品logo图片
- 07-生成缩略图
- 08-Db方式操作数据库
- 09-安装配置composer
- 10-composer安装项目和扩展
- 11-install和update命令
- 12-路由定义
- 13-路由分组
- 14-组合变量-路由与伪静态
- 15-资源路由及请求伪装
- 16-域名路由
- 17-防止表单重复提交
- 18-模型分层和缓存
- 19-日志
第九章 pyg(品优购)

9-1 项目搭建&后台登录

- 01-项目介绍
- 02-系统设计
- 03-项目搭建
- 04-数据库配置
- 05-后台前端项目说明
- 06-CORS跨域处理
- 07-响应的方法
- 08-JWT原理及数据结构
- 09-JWT的使用流程
- 10-登录及验证码的流程
- 11-jwt的工具类
- 12-配置apache重写解决Authorization问题
- 13-验证码接口
- 14-使用前端vue项目测试说明
- 15-登录接口
- 16-退出接口
- 17-登录检测
9-2 商品分类&商品品牌

- 01-用于参考的mvc后台
- 02-商品管理模块介绍
- 03-单图片上传接口
- 04-多图片上传
- 05-商品分类列表接口说明
- 06-商品分类列表接口
- 07-商品分类详情接口
- 08-商品分类新增接口
- 09-商品分类修改接口
- 10-商品分类删除接口
- 11-商品品牌列表接口1-分页搜索
- 12-商品品牌列表2
- 13-商品品牌详情接口
- 14-商品品牌添加接口
- 15-商品品牌修改接口
- 16-商品品牌删除接口
- 17-总结
9-3 商品模型&商品管理

- 01-连表查询
- 02-一对一关联
- 03-一对一相对的关联
- 04-一对多的关联
- 05-商品模型功能分析
- 06-商品模型列表
- 07-商品模型详情接口
- 08-商品模型删除接口
- 09-商品模型新增接口-解读代码
- 10-商品模型修改接口-解读代码
- 11-商品管理模块分析
- 12-商品列表接口
- 13-商品新增分析
- 14-商品新增-商品和相册图片
- 15-商品新增-sku新增
9-4 商品管理&RBAC权限管理

- 01-商品详情接口-查询商品相关数据
- 02-商品详情接口-查询Type模型信息
- 03-商品删除接口
- 04-商品修改页面接口
- 05-商品修改接口-修改基本信息
- 06-商品修改接口-修改相册和sku
- 07-商品相册图片删除接口
- 08-xss攻击介绍
- 09-转化方式防范xss攻击
- 10-过滤方式防范xss攻击
- 11-添加完整商品数据
- 12-mvc后台介绍
- 13-RBAC的基本概念
- 14-RBAC数据表设计
- 15-总结
9-5 RBAC权限管理

- 02-权限列表接口
- 03-权限详情接口
- 04-权限新增接口
- 05-权限修改接口
- 06-权限删除接口
- 07-获取菜单权限
- 08-角色列表接口
- 09-角色列表优化写法
- 1-RBAC概念回顾
- 10-角色详情接口
- 11-角色新增接口
- 12-角色修改和删除接口
- 13-管理员列表接口
- 14-管理员详情接口
- 15-管理员新增接口
- 16-管理员修改接口
- 17-管理员删除接口
- 18-权限检测
- 19-总结
- 20-七牛云对象存储oss介绍
- 21-七牛云对象存储功能实现
9-6 前台登录注册

- 01-课程介绍
- 02-前台首页模板整合
- 03-全局布局及临时关闭布局
- 04-基本注册功能
- 05-手机号加密作为昵称
- 06-短信接口介绍
- 07-封装函数发送短信
- 08-发送短信函数结果处理
- 09-注册时发送验证码及校验验证码
- 10-倒计时效果
- 11-后端限制发送频率
- 12-登录
- 13-退出及头部显示
- 14-第三方登录流程
- 15-qq互联签约
- 16-qq登录功能
- 17-qq登录关联用户
- 18-支付宝的登录创建应用
- 19-支付宝登录功能实现
9-7 商品展示&购物车

- 02-商品分类展示
- 03-商品分类使用缓存
- 04-商品列表展示
- 05-商品详情页面分析及js效果
- 06-商品信息及相册图片展示
- 07-商品属性值展示
- 08-查询商品规格名称规格值
- 09-显示规格名称规格值
- 10-切换规格值显示价格-组装数据
- 11-切换规格值显示价格-显示价格
- 12-购物车实现原理-数据表设计
- 13-cookie中购物车数据存储格式
- 14-cookie中购物车数据增删改查基本写法
- 15-加入购物车-提交表单
- 16-加入购物车-控制器的处理
- 17-加入购物车-购物车类的处理
- 18-总结
9-8 购物车

- 02-加入成功页面展示
- 03-购物车列表
- 04-购物车列表js效果
- 05-登录时迁移cookie购物车
- 06-修改购买数量-发送ajax
- 07-修改购买数量-后端处理
- 08-修改购买数量-报错后还原
- 09-删除购物记录
- 10-修改选中状态-发送ajax
- 11-修改选中状态-后端处理
9-9 相似推荐&结算&提交订单

- 01-相似推荐-同三级分类及同二级分类
- 02-相似推荐-同一级分类及其他
- 03-登录判断及页面跳转
- 04-收货地址展示
- 05-查询商品清单
- 06-展示商品清单
- 07-选中的地址展示-js效果
- 08-订单相关数据表设计
- 09-提交订单-提交隐藏表单
- 10-提交订单-向订单表添加数据
- 11-提交订单-向订单商品表添加数据
- 12-支付页面-查询订单和支付方式
- 13-支付页面-显示订单信息和支付方式
- 14-库存简介
- 15-库存检测和库存冻结
9-10 支付

- 01-支付流程介绍
- 02-沙箱应用及SDK配置
- 03-去支付
- 04-发送支付请求
- 05-同步通知
- 06-异步通知
- 07-扣减库存
- 08-自动取消订单脚本
- 09-签名原理
- 10-基于openssl的公私钥签名
- 11-聚合支付-开通服务
- 12-扫码支付流程
- 13-生成支付二维码
- 14-扫码支付功能
9-11 支付&ES搜索

- 01-异步通知webhooks
- 02-支付结果轮询
- 03-全文搜索解决方案介绍
- 04-安装JDK和ES
- 05-图形化软件安装
- 06-安装ES-php功能包
- 07-ES中的基本概念
- 08-ES-php的基本使用
9-12 ES搜索&直播

- 01-搜索功能分析及工具类
- 02-创建全量商品索引
- 03-商品全文搜索功能
- 04-同步商品文档
- 05-总结
- 06-视频直播服务开通及配置
- 07-PC端测试推流与播流
- 08-直播数据表及工具类
- 09-直播列表和直播新增
- 10-直播详情
- 11-首页直播入口及直播房间
- 12-总结
第十章 PHP—Linux

10-1 Linux概述

- 01.操作系统介绍
- 02.Linux介绍
- 03.安装虚拟机软件
10-2 系统安装

- 04.安装Linux(1)
- 05.安装Linux(2)
- 06.Linux的目录介绍
10-3 基本shell指令

- 07.命令行
- 08.简单指令-ls指令
- 09.简单指令-clear指令
- 10.简单指令-su指令
- 11.简单指令-cd指令
- 12.简单指令-pwd指令
- 13.文档操作-touch指令
- 14.文档操作-mkdir指令
- 15.文档操作-cp指令
- 16.文档操作-mv指令
- 17.文档操作-rm指令
- 18.文档查看
- 19.关机重启指令
- 20.输出重定向
- 21.今日总结
- 02.df指令
- 03.free指令
- 04.find指令
- 05.ps指令
- 06.service指令
- 07.grep指令
- 08.wc指令
- 09.管道符号
10-4 vim编辑器的使用

- 10.vim介绍
- 11.三种模式
- 12.命令模式-光标移动
- 13.命令模式-复制剪切粘贴删除撤销回复操作
- 14.三种模式的切换
- 15.末行模式(1)
- 16.末行模式(2)
- 17.编辑模式
- 18.vim异常退出
10-5 用户与用户组管理

- 19.用户与用户组管理介绍
- 20.用户管理-用户添加
- 21.用户管理-用户修改
- 22.用户管理-设置密码
- 23.用户管理-删除用户
- 24.今日总结
10-6 权限管理

- 02.用户组管理
- 03.权限介绍
- 04.身份介绍
- 05.权限的查看操作
- 06.字母权限设置方式
- 07.课堂练习
- 08.数字权限设置方式
- 09.权限设置的注意事项
- 10.属主更改
- 11.属组更改
- 12.sudo
10-7 其他实用项

- 13.运行级别
- 14.IP地址查看
- 15.网卡配置文件查看
- 16.网络服务操作
10-8 SSH

- 17.ssh服务介绍
- 18.ssh应用-远程连接
- 19.ssh应用-文件传输
10-9 软件管理

- 02.RPM语法介绍
- 03.RPM软件管理方式操作
- 04.YUM软件管理方式
- 05.编译软件给管理方式
10-10 计划任务

- 06.计划任务
10-11 项目上线实战

- 07.阿里云服务器购买
- 08.项目上线前言
- 09.数据库与代码的打包上传
- 10.安装PHP7.2
- 11.安装Apache2
- 12.安装Mariadb
- 13.域名解析
- 14.还原代码与数据表
- 15.申请SSL证书
- 16.创建基于80与443端口的虚拟主机
第十一章 Git

11-1 概述与安装

- 01.GIT介绍
- 02.Git与Github
- 03.Git软件的安装
11-2 本地仓库使用

- 04.Git工作流程
- 05.本地仓库的创建
- 06.本地仓库的提交
- 07.时光穿梭机
- 08.远程仓库创建
11-3 远程仓库使用

- 09.基于https协议的远程仓库使用
- 10.基于ssh协议的远程仓库使用
- 11.分支管理
- 12.冲突的产生与解决
11-4 实用技巧

- 13.图形化管理工具
- 14.忽略文件
- 15.代码发布自动化
阶段四 移动开发
展开第一章 PHP-Laravel

1-1 框架介绍和安装

- 01.简介
- 02.运行环境要求
- 03.安装Laravel框架
- 04.目录结构介绍
- 05.框架启动方式
1-2 laravel路由

- 06.基本路由定义
- 07.路由参数
- 08.路由别名
- 09.路由群组
1-3 laravel控制器

- 10.控制器的创建
- 11.控制器路由定义
- 12.控制器接收用户输入
1-4 laravel模型操作

- 13.数据库的创建与配置
- 14.模型的定义
- 02.DB类在控制器中的使用
- 03.模型类在跨控制器中的使用
- 04.数据的增加操作
- 05.数据的修改操作
- 06.数据的查询操作
- 07.数据的删除操作
1-5 视图操作与csrf

- 08.视图的创建与渲染
- 09.变量分配与展示
- 10.compact函数
- 11.循环标签
- 12.判断标签
- 13.模板的继承与包含
- 14.CSRF介绍
- 15.CSRF验证案例
1-6 表单验证

- 16.自动验证-准备操作
- 02.自动验证案例
- 03.自动验证错误翻译
1-7 文件上传与分页

- 04.文件上传(1)
- 05.文件上传(2)
- 06.数据分页(1)
- 07.数据分页(2)
1-8 验证码

- 08.验证码扩展的安装
- 09.验证码的展示与验证案例
1-9 数据迁移与填充

- 10.迁移文件的创建与编写(1)
- 11.迁移文件的创建与编写(2)
- 12.迁移文件的迁移操作
- 13.填充器的使用
1-10 session会话与缓存

- 01.json响应
- 02.重定向响应
- 03.Session会话控制
- 04.Cache缓存操作
- 05.Cache缓存操作-设置缓存
- 06.Cache缓存操作-获取缓存
- 07.Cache缓存操作-删除缓存
- 08.Cache缓存操作-递增或递减
- 09.Cache缓存操作-获取并缓存
1-11 模型关联

- 10.联表查询(01)
- 11.联表查询(02)
- 12.关联模型-一对一
- 13.关联模型-一对多
- 14.关联模型-多对多
第二章 PHP-微信小程序

2-1 小程序介绍和环境安装

- 02_小程序介绍和理解小程序
- 03_小程序与传统app区别及小程序框架结构
- 04_申请账号和获取开发appid
- 05_开发工具安装
2-2 文件和小程序开发语法学习

- 06_helloworld创建
- 07_小程序目录结构
- 08_app.json文件介绍
- 09_pages配置选项
- 10_window选项配置
- 11_tabBar选项配置
- 12_networkTimeout选项配置
- 13_生命周期
- 14_wxml之数据绑定
- 15_循环的使用
- 16_条件判断
- 17_模板
- 18_import和include引用
- 19_wxss样式
- 20_flex主轴和交叉轴
- 21_主轴和交叉轴对齐
- 22_京西商城
2-3 事件介绍和绑定

- 03_事件绑定
- 04_事件对象
- 05_属性值类型
- 06_tab切换案例
- 07_tab切换
2-4 小程序组件

- 08_swiper组件
- 09_swiper实现tab切换
- 10_scroll-view组件的使用-回到顶部
- 11_加载更多
- 12_wxParse富文本显示
- 13_button之自定义分享
- 14_input组件使用
- 15_form表单数据接受
- 16_导航组件
- 17_wxs模块的使用
- 03_自定义组件和使用
- 04_父组件向子组件通信
- 05_子组件向父组件通信
2-5 接口请求和服务搭建

- 06_网络请求设置要求
- 07_用户表设计
- 08_用户列表接口
- 09_发起网络请求
- 10_tp实现用户列表
- 11_使用promise封装请求
- 12_promise使用
- 13_函数模块化封装请求
- 14_分层实现网络请求
- 15_网络请求最终实现
- 16_网络请求数据小结
- 17_缓存api学习
- 18_缓存类的编写
第三章 swoole

3-1 swoole安装

- 03_swoole简介
- 04_下载swoole源码
- 05_安装依赖环境检查
- 06_安装swoole软件
3-2 swoole编写服务与通信

- 07_swoole进程管理
- 08_环境准备
- 09_创建tcp服务器
- 10_tcp客户端的编写
- 11_原生php实现tcp客户端
- 12_rpc介绍
- 13_rpc实现首页显示
- 14_tp实现rpc调用
- 15_构建web服务器
- 16_静态服务器
- 17_动态服务顺2
第四章 好客租房

4-1 项目初始化

- 02_websocket简介
- 03_websocket的Api学习
- 04_聊天室
- 05_聊天室-part2
- 06_今日目标
- 07_项目背景介绍和技术亮点
- 08_laravel项目安装与工具配置
- 09_运行laravel项目之虚拟主机配置
- 10_配置数据库连接
- 11_时区和本地化配置
- 12_使用git管理源代码
- 13_使用迁移文件生成用户表
- 14_使用faker批量添加后台用户数据
4-2 用户登录与退出

- 15_后台用户登录auth实现方法介绍
- 16_后台登录显示
- 17_auth实现用户后台登录
- 03_登录跳转前提示处理
- 04_后台首页显示
- 05_用户退出实现
4-3 rbac用户管理

- 06_创建的介绍和创建
- 07_注册全局中间件
- 08_路由中间件绑定
- 09_中是件防用户翻墙
- 10_分页数的优化配置
- 11_用户列表分页显示
- 12_搜索列表实现
- 13_添加用户界面显示
- 14_添加用户入库
- 15_添加用户小结
- 16_修改器来给用户密码字段加密
- 17_修改用户信息
- 03_删除操作
- 04_软删除用户
- 05_全选删除用户
- 06_恢复用户数据
- 07_添加用户成功发送文本消息
- 08_添加用户成功后发送html邮件
- 09_4张表实现rbac
- 10_角色列表与添加角色
- 11_角色管理小结
- 12_权限节点列表
- 13_权限节点的添加
- 14_优化权限列表显示
- 15_给角色分配权限
- 16_给角色分配权限
- 03_给用户分配角色
- 04_后台权限控制
- 05_后台菜单的显示
- 06_trait实现多继承来动态加载按钮显示
- 07_trait实现后台权限按钮显示-小结
- 08_创建文章表和文章分类表
4-4 房源文章管理

- 09_添加文章思咱
- 10_资源控制和路由并读取分类信息
- 11_准备好添加文章表单信息
- 12_ueditor富文本显示
- 13_异步文件上传webuploader使用
- 14_前端的表单验证
- 15_后端表单验证之独立验证
- 16_文章添加入库
- 03_datatables介绍和模拟数据准备
- 04_datatables客户端分页
- 05_datatables服务器端分页
- 06_操作列按钮显示受权限控制
- 07_排序功能实现
- 08_搜索功能的实寅
- 09_文章修改之模板显示
- 10_文章修改入库
- 11_修改保存分页页面
- 12_修改保存分页页面-part2
- 13_删除文章操作
4-5 房源属性管理

- 14_房源属性表设计
- 03_房源属性表设计
- 04_添加属性模板显示
- 05_前验表单验证和自定义验证规则
- 06_上传房源属性图标功能封装和实现
- 07_后端自定义验证表单
- 08_房源属性入库-part1
- 09_房源属性入库和模型观察者
- 10_属性列表的展示
- 11_房源属性列表中删除与修改按钮显示问题
4-6 房东管理

- 12_房东表设计
- 13_新增房东知识点
- 14_新增房东界面展示和前端表单验证
- 15_前端表单验证小结
- 16_后端表单验证
- 17_多图片上传解决
- 18_使用observer来发送同步邮件
- 19_使用消息队列发送异步邮件
- 03_房东列表展示
- 04_安装laravelexcel插件和前端显示
- 05_查看身份证图片信息
- 06_使用laravelexcel导出房东信息列表
4-7 房源管理

- 07_房源表设计与创建
- 08_房源添加界面显示
- 09_地区三级联动
- 10_房源表单前端验证
- 11_后端表单验证
- 12_使用guzzlehttp类发起网络请获取地址经纬度
- 03_添加房源关联数据展示
- 04_房源多图片上传
- 05_添加数据入库
- 06_es介绍和创建索引代码说明
- 07_使用php创建es索引
- 08_写数据到es文档中
- 09_写数据到es文档中-完成
- 10_房源列表显示
- 11_房源修改显示
- 12_修改房源信息的省份联动和图片展示处理
- 13_修改显示小结
- 14_修改房源进行地址经纬度的更新
- 15_修改房源更新es文档信息
4-8 预约和租客列表

- 16_预约数据表的创建
- 03_新增预约-vue
- 04_新增预约ajax提交和表单验证
- 05_vue处理dom日历控制
- 06_预约列表显示
- 07_租客列表展示
4-9 接口安全和登录编写

- 08_接口账号表设计
- 09_接口账号的添加
- 10_ajax表单验证异常处理
- 11_ajax表单验证异常处理-小结
- 12_接口账号列表
- 13_接口编写注意事项
- 14_接口实现登录
- 15_接口登录实现
4-10 小程序用户登录与授权

- 03_小程序中进行wx.login操作
- 04_在本服务器中实现网络换取openid
- 05_openid入库操作
- 06_小程序端实现openid获取和存储
- 07_小程序授权客户端现实
- 08_授权前端操作
- 09_用户授权后台接口编写
- 10_postman工具使用
4-11 身份证件上传和信息保存

- 11_租客图片上传功能接口
- 12_租客信息修改接口编写
- 13_根据openid返回用户信息
- 14_小程序中实现接口对应
- 15_用户信息的小程序展示
- 16_租客资料修改更新
- 17_身份图片上传
- 18_身份图片上传功能
4-12 文章列表展示和加载更多

- 03_看房通知列表数据接口
- 04_小程序列表数据动态展示
- 05_小程序中实现拨打电话
- 06_querylist数据采集框架介绍
- 07_采集远程图片保存到本地
- 08_querylist多线程采集
- 09_artisan命令行的创建
- 10_使用laravel命令行采集想要的数据
- 11_文章接口列表编写
- 12_资源列表小程序展示
- 13_详情页面接口编写
- 14_小程序富文本内容显示
- 15_小程序详情页面展示
- 16_自定义分享文章
- 03_设计记录文章浏览次数表
- 04_记录用户浏览次数接口编写
- 05_小程序发起请求记录用户浏览次数
4-13 推荐房源展示

- 06_推荐房源接口
- 07_推荐房源显示
- 08_租房小组接口编写
- 09_租房小组小程序展示
- 10_房源模板列表引用
- 11_房源列表接口编写
- 12_房源列表动态展示
- 13_房源详情页数据获取
- 14_房源详情页面展示
4-14 自定义分享、拨打电话和收藏功能

- 03_自定义分享功能
- 04_在线客服功能
- 05_拨打电话功能实现
- 06_动态设置界面标题
- 07_前端收藏效果实现
- 08_添加或取消收藏功能接
- 09_根据openid和房源显示用户是否收藏
- 10_小程序实现收藏功能
- 11_收藏记录接口编写
- 12_自定义组件显示确认看房
4-15 搜索功能

- 13_快搜数据接口定义和数据展示
- 14_联合条件实现搜索
- 03_通过后台向es添加文档数据
- 04_es搜索接口编写
- 05_小程序搜索
- 06_echarts介绍
- 07_echarts使用
- 08_echarts显示已租和待租
4-16 上线与代码管理

- 09_接口频率限制
- 10_homestead
- 11_接口安全验证
- 12_小程序实现md5验证
- 13_小程序上线
- 14_git同步上传代码
阶段五 性能优化
展开第一章 nginx

1-1 nginx安装

- 02_nginx概述
- 03_常用PHP网站架构和nginx优点
- 04_安装nginx服务
- 05_添加nginx运行用户和启动nginx
1-2 nginx虚拟主机配置

- 06_nginx主配置文件段落说明
- 07_配置静态资源服务器
- 08_列出目录列表配置
- 09_分目和文件去配置虚拟主机
- 10_nginx支持php
- 11_nginx设置和php-fpm连接超时时间
- 12_开启gzip压缩
- 13_浏览器缓存设置
- 14_图片防盗链
- 15_nginx日志记录
- 16_日志分割
1-3 反向代理和负载均衡

- 03_反向代理概述和配置语法
- 04_反向代理实现
- 05_动静分离
- 06_负载均衡概述
- 07_负载均衡配置语法
- 08_轮询负载
- 09_加权轮询
- 10_ip_hash
- 11_hash轮询
- 12_nginx支持thinkphp
- 13_nginx目录限制
第二章 PHP-Memcached

2-1 memcached服务安装

- 02_memcached概述
- 03_memcached应用位置
- 04_memcached与mysql对比和键值限制
- 05_memcached在linux下安装
- 06_启动memcached服务
- 07_windows下安装memcached服务
- 08_windows中安装telnet和检查与退出
2-2 命令行操作和扩展安装

- 09_linux下安装telnet和检查与退出
- 10_telnet连接memcached服务
- 11_获取数据
- 12_自增和自减
- 13_自增和自减
- 14_删除数据
- 15_查看状态
- 16_linux下安装memcached扩展
- 17_windows下载安装memcache扩展
2-3 php操作memcached和集群搭建

- 18_memadmin图形管理工具
- 19_php操作memcache
- 20_集群
- 21_session写入到memcache中
第三章 PHP-redis

3-1 redis安装

- 02_redis概述与优势介绍
- 03_windows下安装redis及启动和使用客户端连接
- 04_linux下安装redis服务
- 05_启动与关闭redis服务
- 06_图形客户端连接redis服务
3-2 redis命令行操作

- 07_redis对应key基本操作命令
- 08_字符串操作之set和get
- 09_字符串操作之批量设置和批量获取
- 10_字符串操作之自增和自减
- 11_字符串操作之追加和getset
- 12_列表之lpush和rpop
- 13_获取列表中的元素和长度
- 14_列表之rpush和lpop
- 15_列表之rpoplpush
- 16_hash之设置和获取信息
- 17_hash之hdel-hlen-hexists
- 18_hash之hincrby和hkeys-hvals
- 19_集合操作之sadd和smembers
- 20_集合操作之srem和spop
- 21_集合操作之sismember-smvoe
- 22_集合之交集-并集-差集
- 23_有集集合之-zadd-zrem-zrange-zrevrange
- 24_有序集合操作
- 03_发布与订阅
- 04_数据持久化介绍
3-3 持久化、安全和主从搭建

- 05_rdb快照
- 06_aof日志持久化
- 07_redis事务
- 08_redis密码账号安全
- 09_主从设置介绍和实验环境说明
- 10_redis主从的搭建
3-4 php操作redis扩展安装

- 11_windows下安装扩展
- 12_linux下安装redis扩展
- 13_php操作redis
3-5 php操作redis

- 14_用户登录与邮件任务写入到队列中
- 15_文章key设计
- 16_文章管理
- 17_消费列表中的任务
第四章 PHP-mongodb

4-1 mongodb安装与启动

- 02_mongodb简介
- 03_mongodb安装
- 04_mongodb启动
- 05_window下安装mongodb
- 06_快速了解mongodb命令
4-2 mongodb命令操作

- 07_添加文档
- 08_删除文档
- 09_查询指定字段显示
- 10_查询之条件范围查询
- 11_查询操作find
- 12_更新文档
- 13_用户授权之创建超级管理员
- 14_创建普通用户
- 15_索引管理
- 16_数据的导入与导出
4-3 php安装mongodb扩展

- 17_windows下安装扩展
- 18_linux安装扩展
4-4 php操作mongodb

- 19_mongodb实现文章添加和列表展示
- 20_文章的修改
第五章 网络优化

5-1 myspl优化

- 02_网站优化概述和mysql优化概述
- 03_存储引擎介绍
- 04_innodb存储格式独立与共享表空间
- 05_innodb数据存储顺序问题
- 06_innodb并发处理
- 07_myisam引擎特点
- 08_2种引擎适合场景和使用推荐
- 09_列类型选择
- 10_范式要求
- 11_mysql索引方法介绍和区别
- 12_存储引擎结构介绍
- 13_索引类型
- 14_创建索引
- 15_删除和查看以及创建索引的注意事项
- 02_explain查看索引使用
- 03_索引字段列独立和字符串类型字段检索加引号
- 04_索引覆盖
- 05_like查询索引失效问题
- 06_or运算对索引影响
- 07_复合索引
- 08_慢查询日志
- 09_profile开启
- 10_共享锁
- 11_独立锁
- 12_php实现锁机制
- 13_innodb锁
- 14_事务的介绍
- 15_事务的隔离级别
- 16_查询缓存
5-2 读写分离

- 02_存储过程介绍和定义使用
- 03_触发器介绍和定义使用
- 04_分区介绍
- 05_分区算法之hash
- 06_分区算法之key
- 07_分区算法之list
- 08_分区算法之range
- 09_分区删除操作
- 10_增加分区操作
- 11_分表技术介绍
- 12_crc32实现分表
- 13_主从复制介绍
- 14_主服务器相关配置和账号创建
- 15_日志清空命令
- 16_从服务器配置实现主从
5-3 搜索引擎

- 00_添加索引和搜索
- 02_搜索引擎介绍和迅搜介绍
- 03_xunsearch应用领域和架构
- 04_xunsearch安装
- 05_xunsearch搜索配置文件介绍
- 06_xunsearch命令行小试
- 07_php生成数据表对应的索引
- 08_增量索引更新
- 09_php实现搜索功能
- 10_网站静态化
- 11_ob缓存
- 12_前端静态文件优化
- 13_apache开始浏览器缓存和页面压缩
- 14_服务器优化