黑马PHP+H5全栈开发项目实战

教程目录:
├──00_预科班
│ ├──0.1HTML-预科班
│ │ └──视频
│ │ ├──1--基础了解.mkv
│ │ ├──2--HTML引入.mkv
│ │ ├──3--标记介绍.mkv
│ │ ├──4--编辑器应用.mkv
│ │ ├──5--主体标签.mkv
│ │ ├──6--文本标签.mkv
│ │ ├──7--标签嵌套.mkv
│ │ ├──8--排版标签(1).mkv
│ │ ├──9--排版标签(2).mkv
│ │ ├──10--上午回顾.mkv
│ │ ├──11--练习.mkv
│ │ ├──12--有序列表.mkv
│ │ ├──13--有序列表.mkv
│ │ ├──14--无序列表.mkv
│ │ ├──15--图片标签.mkv
│ │ ├──16--链接.mkv
│ │ └──17--课程回顾.mkv
│ ├──0.2CSS-预科班
│ │ └──视频
│ │ ├──1--课程回顾.mkv
│ │ ├──2--作业讲解.mkv
│ │ ├──3--HTML通用属性.mkv
│ │ ├──4--标签关系.mkv
│ │ ├──5--CSS介绍.mkv
│ │ ├──6--CSS引入.mkv
│ │ ├──7--基本选择器(1).mkv
│ │ ├──8--类选择器.mkv
│ │ ├──9--id选择器.mkv
│ │ ├──10--伪类选择器.mkv
│ │ ├──11--课程回顾.mkv
│ │ ├──12--分组选择器.mkv
│ │ ├──13--后代选择器.mkv
│ │ ├──14--子代选择器.mkv
│ │ ├──15--元素包含.mkv
│ │ ├──16--选择器优先级.mkv
│ │ ├──17--宽高和元素转换.mkv
│ │ ├──18--字体.mkv
│ │ ├──19--文本.mkv
│ │ └──20--练习和回顾.mkv
│ ├──0.3JavaScript1-预科班
│ │ └──视频
│ │ ├──1--课程回顾.mkv
│ │ ├──2--作业讲解.mkv
│ │ ├──3--JavaScript引入.mkv
│ │ ├──4--JavaScript引入.mkv
│ │ ├──5--javasript输出.mkv
│ │ ├──6--javascript语法规则.mkv
│ │ ├──7--变量.mkv
│ │ ├──8--变量名.mkv
│ │ ├──9--上午回顾.mkv
│ │ ├──10--数据类型.mkv
│ │ ├──11--运算符(1).mkv
│ │ ├──12--运算符(2).mkv
│ │ ├──13--运算符(3).mkv
│ │ ├──14--运算符(4).mkv
│ │ ├──15--运算符(5).mkv
│ │ ├──16--运算符优先级.mkv
│ │ └──17--if语句.mkv
│ └──0.4JavaScript2-预科班
│ └──视频
│ ├──1--课程回顾.mkv
│ ├──2--作业讲解.mkv
│ ├──3--分支结构.mkv
│ ├──4--while循环.mkv
│ ├──5--while练习.mkv
│ ├──6--上午回顾.mkv
│ ├──7--while练习.mkv
│ ├──8--while练习.mkv
│ ├──9--for循环.mkv
│ ├──10--for循环练习.mkv
│ ├──11--九九乘法表.mkv
│ ├──12--函数引入.mkv
│ ├──13--函数.mkv
│ └──14--课程回顾.mkv
├──01_HTML5
│ ├──day1-HTML
│ │ └──视频
│ │ ├──1--计算机了解.mkv
│ │ ├──2--编辑器.mkv
│ │ ├──3--网页原理.mkv
│ │ ├──4--HTML介绍avi.mkv
│ │ ├──5--W3C介绍.mkv
│ │ ├──6--标签认识.mkv
│ │ ├──7--HTML标签认识.mkv
│ │ ├──8--排版标签(1).mkv
│ │ ├──9--排版标签(2).mkv
│ │ ├──10--文本标签.mkv
│ │ ├──11--课程回顾.mkv
│ │ ├──12--练习.mkv
│ │ ├──13--无序列表.mkv
│ │ ├──14--无序列表练习.mkv
│ │ ├──15--有序列表.mkv
│ │ ├──16--定义列表.mkv
│ │ ├──16--图片标签.mkv
│ │ ├──17--图片标签,路径.mkv
│ │ ├──18--路径.mkv
│ │ └──19--回顾.mkv
│ └──day2-HTML
│ └──视频
│ ├──1--链接标签.mkv
│ ├──2--链接标签.mkv
│ ├──3--链接标签.mkv
│ ├──4--link和图片练习8.mkv
│ ├──5--表格.mkv
│ ├──6--表格.mkv
│ ├──7--表格练习.mkv
│ ├──8--课程回顾.mkv
│ ├──9--表格.mkv
│ ├──10--表格练习.mkv
│ ├──11-- 表单.mkv
│ ├──12--文本框.mkv
│ ├──13--密码框.mkv
│ ├──14--表单项.mkv
│ ├──15--表单项.mkv
│ └──16--课程回顾.mkv
├──02_CSS3
│ ├──day1-CSS
│ │ └──视频
│ │ ├──1--课程回顾.mkv
│ │ ├──2--语义化标签.mkv
│ │ ├──2--作业讲解.mkv
│ │ ├──3--HTML5介绍.mkv
│ │ ├──4--视频标签.mkv
│ │ ├──5--媒体标签.mkv
│ │ ├──6--其他标签.mkv
│ │ ├──7--新增type的值.mkv
│ │ ├──8--新增属性.mkv
│ │ ├──9--字符编码.mkv
│ │ ├──10--上午回顾.mkv
│ │ ├──11--字符实体,文档类型.mkv
│ │ ├──12--浮动框架.mkv
│ │ ├──13--知识点整理.mkv
│ │ ├──14--CSS介绍.mkv
│ │ ├──15--CSS引入.mkv
│ │ ├──16--CSS核心语法.mkv
│ │ ├──17--通配符选择器.mkv
│ │ ├──18--标签选择器.mkv
│ │ ├──19--类选择器.mkv
│ │ ├──20--id选择器.mkv
│ │ ├──21--属性.mkv
│ │ ├──22--练习.mkv
│ │ └──23--课程回顾.mkv
│ ├──day2-CSS
│ │ └──视频
│ │ ├──1--课程回顾.mkv
│ │ ├──2--作业讲解.mkv
│ │ ├──3--作业讲解2.mkv
│ │ ├──4--颜色.mkv
│ │ ├──5--子代选择器.mkv
│ │ ├──6--后代选择器.mkv
│ │ ├──7--分组选择器.mkv
│ │ ├──8--属性选择器.mkv
│ │ ├──9--伪类选择器.mkv
│ │ ├──10--上午回顾.mkv
│ │ ├──11--伪类选择器.mkv
│ │ ├──12--练习.mkv
│ │ ├──13--伪类选择器.mkv
│ │ ├──14--伪元素.mkv
│ │ ├──15--伪元素.mkv
│ │ ├──16--伪元素.mkv
│ │ ├──17--其他组合选择器.mkv
│ │ ├──18--继承性.mkv
│ │ ├──19--优先级.mkv
│ │ ├──20--层叠性.mkv
│ │ └──22--课程回顾.mkv
│ ├──day3-CSS
│ │ └──视频
│ │ ├──1--课程回顾.mkv
│ │ ├──2--作业讲解.mkv
│ │ ├──3--盒子初步.mkv
│ │ ├──4--宽高.mkv
│ │ ├──5--边框.mkv
│ │ ├──6--内边距.mkv
│ │ ├──7--外边距.mkv
│ │ ├──8--margin外边距.mkv
│ │ ├──9--盒子宽度计算.mkv
│ │ ├──10--上午回顾.mkv
│ │ ├──11--padding练习.mkv
│ │ ├──12--margin练习.mkv
│ │ ├──13--背景图片.mkv
│ │ ├──14--背景图片.mkv
│ │ ├──15--背景练习(1).mkv
│ │ ├──16--背景练习(2).mkv
│ │ ├──17--背景练习(3).mkv
│ │ ├──18--轮廓线.mkv
│ │ ├──19--display元素转换.mkv
│ │ └──20--课程回顾.mkv
│ ├──day4-CSS
│ │ └──视频
│ │ ├──1--课程回顾.mkv
│ │ ├──2--作业讲解(1).mkv
│ │ ├──3--作业讲解(2).mkv
│ │ ├──4--溢出.mkv
│ │ ├──5--可见性.mkv
│ │ ├──6--浮动.mkv
│ │ ├──7--清除浮动.mkv
│ │ ├──8--布局思想.mkv
│ │ ├──9--浮动练习.mkv
│ │ ├──10--定位(1).mkv
│ │ ├──11--定位(2).mkv
│ │ ├──12--定位(3).mkv
│ │ ├──13--层级.mkv
│ │ ├──14--绝对定位.mkv
│ │ ├──15--知识点.mkv
│ │ ├──16--练习.mkv
│ │ ├──17--限时抢购(1).mkv
│ │ ├──18--限时抢购(2).mkv
│ │ └──19--课程回顾.mkv
│ └──day5-CSS
│ └──视频
│ ├──01list样式.mkv
│ ├──02table样式.mkv
│ ├──03box-shadow盒子阴影.mkv
│ ├──04border-radius圆角边框.mkv
│ ├──05border-images图像边框的原理.mkv
│ ├──06图像边框属性详解及演示.mkv
│ ├──07背景图像的滚动特性(attachment).mkv
│ ├──08背景原点,裁切和大小.mkv
│ ├──09背重复性的新特性.mkv
│ ├──10上午回顾.mkv
│ ├──11线性渐变(1).mkv
│ ├──12线性渐变.mkv
│ ├──13线性渐变.mkv
│ ├──14小案例:一片叶子.mkv
│ ├──15多栏布局初步.mkv
│ ├──16多栏布局细节.mkv
│ ├──17多背景的覆盖性.mkv
│ └──18今日总结.mkv
├──03_javaScript
│ ├──day1-
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02昨日反馈.mkv
│ │ ├──03弹性布局初步介绍.mkv
│ │ ├──04弹性布局细节(1).mkv
│ │ ├──05弹性布局细节(2).mkv
│ │ ├──06使用弹性布局实现页面整体布局.mkv
│ │ ├──07作业1讲解.mkv
│ │ ├──08变换初步.mkv
│ │ ├──09skew拉伸变换.mkv
│ │ ├──10二D变换案例.mkv
│ │ ├──11三D变换初体验.mkv
│ │ ├──12三D变换的旋转.mkv
│ │ ├──13三D变换案例:美女墙.mkv
│ │ └──14今日总结.mkv
│ ├──day2-
│ │ └──视频
│ │ ├──1昨日回顾.mkv
│ │ ├──02作业-立方体(1).mkv
│ │ ├──03作业-立方体(2).mkv
│ │ ├──04过渡初步.mkv
│ │ ├──05过渡属性的细节.mkv
│ │ ├──06过渡的5种方式.mkv
│ │ ├──07过渡案例(1).mkv
│ │ ├──08过渡案例:芝麻开门.mkv
│ │ ├──09动画初步.mkv
│ │ ├──10动画属性详情.mkv
│ │ ├──11动画案例:旋转美女墙.mkv
│ │ ├──12滑动门应用.mkv
│ │ ├──13手风琴效果.mkv
│ │ └──14今日总结.mkv
│ └──day3-
│ └──视频
│ ├──01昨日回顾.mkv
│ ├──02光标形状.mkv
│ ├──03文字阴影.mkv
│ ├──04案例:彩色文字.mkv
│ ├──05文字溢出text-overflow.mkv
│ ├──06盒子缩放.mkv
│ ├──07盒子模型(新的内减模式).mkv
│ ├──08css初始化.mkv
│ ├──09精灵技术.mkv
│ ├──10自定义字体.mkv
│ ├──11图标字体介绍.mkv
│ ├──12图标字体实现方式1.mkv
│ ├──13图标字体实现方式2.mkv
│ ├──14圣杯布局(固定宽度).mkv
│ ├──15圣杯布局(可变宽度).mkv
│ └──16今日总结.mkv
├──04 品优购商城项目实战
│ ├──day-02前端项目
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02logo和搜索区的实现.mkv
│ │ ├──03vertical-align.mkv
│ │ ├──04搜索区的细节实现.mkv
│ │ ├──05主体1区右侧中部话费小图标的实现.mkv
│ │ ├──06两个小细节的修正.mkv
│ │ ├──07主体3区产品列表的实现.mkv
│ │ ├──08主体2区的实现.mkv
│ │ └──09底部区域1的实现.mkv
│ └──day01前端项目
│ └──视频
│ ├──01昨日反馈.mkv
│ ├──02css整体复习.mkv
│ ├──03布局思想.mkv
│ ├──04品优购整体布局,顶部广告制作.mkv
│ ├──05主导航的实现.mkv
│ ├──06上午回顾.mkv
│ ├──07第二个导航条.mkv
│ ├──08主体1区的实现.mkv
│ └──09主体2区主体3区的粗框.mkv
├──05 PHP核心编程
│ ├──Day-1
│ │ └──视频
│ │ ├──01php介绍.mkv
│ │ ├──02PHP网站运行原理.mkv
│ │ ├──03apache的安装.mkv
│ │ ├──04安装的回顾,测试和apache目录介绍.mkv
│ │ ├──05检测apache配置文件语法的命令.mkv
│ │ ├──06配置环境变量使httpd可以快捷使用.mkv
│ │ ├──07Apache的启动和停止.mkv
│ │ ├──08几个基本概念,域名解析.mkv
│ │ ├──09端口,url,以及访问流程.mkv
│ │ ├──10上午总结.mkv
│ │ ├──11php的基本配置(实现可用性).mkv
│ │ ├──12php的配置文件设置和时区配置.mkv
│ │ ├──13php配置查看代码.mkv
│ │ ├──14php中开启mysqli模块.mkv
│ │ ├──15mysql的安装和配置.mkv
│ │ ├──16默认网站的初始设置.mkv
│ │ └──17多站点配置.mkv
│ ├──Day-10
│ │ └──视频
│ │ ├──01两个小问题.mkv
│ │ ├──02昨日回顾.mkv
│ │ ├──03实体关系.mkv
│ │ ├──04select高级查询概述.mkv
│ │ ├──05select子句.mkv
│ │ ├──06where子句初步.mkv
│ │ ├──07where子句初步练习讲解.mkv
│ │ ├──08like运算符.mkv
│ │ ├──09between,in,is运算符.mkv
│ │ ├──10分组的基本概念.mkv
│ │ ├──11分组实例.mkv
│ │ ├──12多条件分组.mkv
│ │ ├──13having子句.mkv
│ │ ├──14orderby子句.mkv
│ │ ├──15limit子句.mkv
│ │ ├──16高级插入语法(1).mkv
│ │ ├──17蠕虫复制.mkv
│ │ ├──18主键冲突的解决办法.mkv
│ │ ├──19高级删除.mkv
│ │ └──20高级更新.mkv
│ ├──Day-11
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02联合查询初步.mkv
│ │ ├──03联合查询细节.mkv
│ │ ├──04连接查询基本概念.mkv
│ │ ├──05交叉连接.mkv
│ │ ├──06内连接查询.mkv
│ │ ├──07内连接课堂练习.mkv
│ │ ├──08左外连接.mkv
│ │ ├──09右外连接.mkv
│ │ ├──10自连接.mkv
│ │ ├──11子查询的基本概念.mkv
│ │ ├──12标量子查询.mkv
│ │ ├──13标量子查询课堂练习.mkv
│ │ ├──14列子查询.mkv
│ │ ├──15行子查询.mkv
│ │ ├──16表子查询.mkv
│ │ ├──17子查询中的几个关键字.mkv
│ │ ├──18exists子查询.mkv
│ │ ├──19数据备份与恢复.mkv
│ │ ├──20用户管理.mkv
│ │ └──21权限管理.mkv
│ ├──Day-2
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02php基础课程总览.mkv
│ │ ├──03php基础语法规定.mkv
│ │ ├──04变量的含义和定义.mkv
│ │ ├──05变量命名规则.mkv
│ │ ├──06变量的4个基本操作.mkv
│ │ ├──07值传递.mkv
│ │ ├──08引用传递.mkv
│ │ ├──09post数据的提交改进.mkv
│ │ ├──09_GET变量.mkv
│ │ ├──10_POST变量.mkv
│ │ ├──11_REQUEST变量.mkv
│ │ ├──12课堂练习:判断年龄.mkv
│ │ ├──13_SERVER变量.mkv
│ │ ├──14可变变量.mkv
│ │ ├──15常量的定义和使用.mkv
│ │ ├──16常量与变量的区别,以及常量的判断.mkv
│ │ ├──17预定义常量和魔术常量.mkv
│ │ └──18今日总结.mkv
│ ├──Day-3
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02类型概述.mkv
│ │ ├──03整数的表示法.mkv
│ │ ├──04整数的转换.mkv
│ │ ├──05案例:进制转换.mkv
│ │ ├──06浮点数.mkv
│ │ ├──07布尔类型.mkv
│ │ ├──08字符串类型.mkv
│ │ ├──09数组类型.mkv
│ │ ├──10数据类型总结.mkv
│ │ ├──11类型判断.mkv
│ │ ├──12类型转换.mkv
│ │ ├──13算术运算符.mkv
│ │ ├──14连接运算符和自赋值运算符.mkv
│ │ ├──15自操作运算符.mkv
│ │ ├──16比较运算符.mkv
│ │ ├──17逻辑与运算符.mkv
│ │ ├──18逻辑或运算符案例.mkv
│ │ ├──19逻辑非.mkv
│ │ └──20逻辑运算符的短路机制.mkv
│ ├──Day-4
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02按位运算符.mkv
│ │ ├──03错误抑制符.mkv
│ │ ├──04条件运算符.mkv
│ │ ├──05运算符的优先级.mkv
│ │ ├──06流程控制结构综述.mkv
│ │ ├──07if分支结构(单分支和双分支).mkv
│ │ ├──08if多分支结构.mkv
│ │ ├──09if综合案例.mkv
│ │ ├──10switch分支结构.mkv
│ │ ├──11while循环.mkv
│ │ ├──12while循环课堂案例.mkv
│ │ ├──13dowhile案例.mkv
│ │ ├──14for循环初步.mkv
│ │ ├──15for循环案例.mkv
│ │ ├──16多重循环案例1.mkv
│ │ ├──17多重循环案例2.mkv
│ │ ├──18案例:99乘法表.mkv
│ │ ├──19案例:百钱百鸡.mkv
│ │ └──20今日总结.mkv
│ ├──Day-5
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02昨日作业.mkv
│ │ ├──03循环的两种中断.mkv
│ │ ├──04中断的层数的含义.mkv
│ │ ├──05函数初步.mkv
│ │ ├──06函数概念的进一步演示.mkv
│ │ ├──07函数的定义和调用基本形式和概念.mkv
│ │ ├──08函数理念进一步讲解.mkv
│ │ ├──09函数执行流程.mkv
│ │ ├──10函数参数的传值方式.mkv
│ │ ├──11函数形参的默认值.mkv
│ │ ├──12函数的返回值问题.mkv
│ │ ├──13可变函数.mkv
│ │ ├──14匿名函数.mkv
│ │ └──15今日总结.mkv
│ ├──Day-6
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02昨日作业或课堂练习.mkv
│ │ ├──03根函数有关的系统函数.mkv
│ │ ├──04常用系统数学函数.mkv
│ │ ├──05常用时间函数.mkv
│ │ ├──06作用域问题,及局部作用域.mkv
│ │ ├──07静态变量.mkv
│ │ ├──08全局变量和超全局变量.mkv
│ │ ├──09超全局变量$GLOBALS.mkv
│ │ ├──10global关键字.mkv
│ │ ├──11递归函数初步.mkv
│ │ ├──12递归函数调用分析.mkv
│ │ ├──13案例:n的阶乘.mkv
│ │ ├──14递归的总结.mkv
│ │ ├──15文件加载的基本含义.mkv
│ │ ├──16文件加载详解.mkv
│ │ ├──17错误分类和错误代号.mkv
│ │ ├──18错误的提示控制初步演示.mkv
│ │ ├──19错误的触发.mkv
│ │ ├──20错误显示的控制.mkv
│ │ ├──21错误日志的控制.mkv
│ │ └──22今日回顾.mkv
│ ├──Day-7
│ │ └──视频
│ │ ├──01昨日回顾.mkv
│ │ ├──02自定义错误处理.mkv
│ │ ├──03自定义错误处理(2).mkv
│ │ ├──04单引号字符串.mkv
│ │ ├──05双引号字符串.mkv
│ │ ├──06heredoc和nowdoc字符串.mkv
│ │ ├──07字符长度问题.mkv
│ │ ├──08字符串常用函数.mkv
│ │ ├──09字符串案例.mkv
│ │ ├──10数组的定义形式.mkv
│ │ ├──11数组的下标问题.mkv
│ │ ├──12多维数组.mkv
│ │ ├──13数组foreach遍历语法.mkv
│ │ ├──14数组的基本算法.mkv
│ │ ├──15for循环遍历数组(并指针函数).mkv
│ │ ├──16课间案例,及数组函数.mkv
│ │ ├──17数组排序概述.mkv
│ │ ├──18冒泡排序(1)-原理.mkv
│ │ ├──18冒泡排序(2)-代码演示.mkv
│ │ ├──19选择排序(1)-原理.mkv
│ │ ├──19选择排序(2)-代码演示.mkv
│ │ └──20二分查找算法.mkv
│ ├──Day-8
│ │ └──视频
│ │ ├──01昨日回顾(1).mkv
│ │ ├──02二分查找算法重讲.mkv
│ │ ├──03mysql课程介绍.mkv
│ │ ├──04mysql数据库介绍.mkv
│ │ ├──05开启-关闭数据库服务.mkv
│ │ ├──06cmd客户端.mkv
│ │ ├──07navicat客户端安装.mkv
│ │ ├──07phpmyadmin.mkv
│ │ ├──08显示所有数据库.mkv
│ │ ├──09数据库的其他操作.mkv
│ │ ├──10新建表.mkv
│ │ ├──11表的charset和表类型解释.mkv
│ │ ├──12表的其他几个基本操作.mkv
│ │ ├──13修改表的语句.mkv
│ │ ├──14几个小问题.mkv
│ │ ├──15插入数据.mkv
│ │ ├──16插入数据(2).mkv
│ │ ├──17select查询语句.mkv
│ │ ├──18delete删除数据.mkv
│ │ ├──19update修改数据.mkv
│ │ └──20今日总结.mkv
│ └──Day-9
│ └──视频
│ ├──01昨日回顾.mkv
│ ├──02数据类型总览.mkv
│ ├──03整型类型详解.mkv
│ ├──04整数类型演示.mkv
│ ├──05小数类型.mkv
│ ├──06数据类型选择举例.mkv
│ ├──07时间日期类型.mkv
│ ├──08char和varchar类型.mkv
│ ├──09上午回顾.mkv
│ ├──10text类型.mkv
│ ├──11enum和set初步.mkv
│ ├──12enum和set的深入.mkv
│ ├──13字段属性(1).mkv
│ ├──13字段属性(2).mkv
│ ├──13字段属性(3).mkv
│ └──14今日回顾.mkv
├──06. 基于PHP7+MVC博客系统设计
│ ├──1-php
│ │ ├──01CMD模式下操作MySQL步骤(1).mkv
│ │ ├──02CMD模式下操作MySQL步骤(2).mkv
│ │ ├──03使用phpMyAdmin导入备份数据.mkv
│ │ ├──04PHP连接MySQL服务器(1).mkv
│ │ ├──05PHP连接MySQL服务器(2).mkv
│ │ ├──06PHP连接MySQL服务器(3).mkv
│ │ ├──07选择数据库.mkv
│ │ ├──08设置字户端字符集.mkv
│ │ ├──09执行SQL语句.mkv
│ │ ├──10释放结果集对象.mkv
│ │ ├──11从结果集获取一行数据(1).mkv
│ │ ├──12从结果集获一行数据(2).mkv
│ │ ├──13从结果集获取一行数据(3).mkv
│ │ ├──14从结果集中获取多行数据.mkv
│ │ ├──15获取查询的记录数.mkv
│ │ ├──16获取受影响的行数.mkv
│ │ ├──17学生数据表结构.mkv
│ │ ├──18综合案例:显示学生信息(1).mkv
│ │ ├──19综合案例:连接数据库的公共文件.mkv
│ │ ├──20综合案例:显示学生信息(2).mkv
│ │ ├──21综合案例:删除学生信息(1).mkv
│ │ ├──22综合案例:删除学生信息(2).mkv
│ │ ├──23综合案例:添加学生(1).mkv
│ │ ├──24综合案例:添加学生(2).mkv
│ │ ├──25综合案例:添加学生(3).mkv
│ │ ├──26课后总结.mkv
│ │ └──27复选框处理.mkv
│ ├──2-php
│ │ ├──01昨日回顾.mkv
│ │ ├──02目录操作概述.mkv
│ │ ├──03创建目录.mkv
│ │ ├──04判断是不是目录.mkv
│ │ ├──05判断文件是否存在.mkv
│ │ ├──06删除目录.mkv
│ │ ├──07更改目录权限.mkv
│ │ ├──08获取文件权限值.mkv
│ │ ├──09目录改名或移动.mkv
│ │ ├──10打开目录.mkv
│ │ ├──11读取目录条目.mkv
│ │ ├──12字符集转换.mkv
│ │ ├──13关闭目录.mkv
│ │ ├──14目录操作总结.mkv
│ │ ├──15递归思想.mkv
│ │ ├──16实例:递归遍历phpMyAdmin目录(1).mkv
│ │ ├──17实例:递归遍历phpMyAdmin目录(2).mkv
│ │ ├──18打开文件.mkv
│ │ ├──19关闭文件.mkv
│ │ ├──20读取指定大小的文件内容.mkv
│ │ ├──21读取一行数据.mkv
│ │ ├──22读取文件内容到数组.mkv
│ │ ├──23读取文件内容到字符串.mkv
│ │ ├──24实例:读取记事本学生信息.mkv
│ │ ├──25另存文件内容.mkv
│ │ ├──25写入文件内容.mkv
│ │ ├──26复制文件.mkv
│ │ ├──27删除文件.mkv
│ │ ├──28递归删除目录.mkv
│ │ └──29课后总结.mkv
│ ├──3-php
│ │ ├──01昨日回顾.mkv
│ │ ├──02数据分页:显示学生列表数据.mkv
│ │ ├──03数据分页:分页原理.mkv
│ │ ├──04数据分页:读取分页数据.mkv
│ │ ├──05数据分页:分页代码(1).mkv
│ │ ├──06数据分页:分页代码(2).mkv
│ │ ├──07HTTP协议概述.mkv
│ │ ├──08BS网络结构.mkv
│ │ ├──09HTTP协议概述.mkv
│ │ ├──10HTTP协议的特点.mkv
│ │ ├──11HTTP协议之URL(1).mkv
│ │ ├──12HTTP协议之URL(2).mkv
│ │ ├──13HTTP请求的构成.mkv
│ │ ├──13抓包工具.mkv
│ │ ├──14请求行的构成.mkv
│ │ ├──15请求头部分含义.mkv
│ │ ├──16HTTP请求正文.mkv
│ │ ├──17请求网页共发送几次请求.mkv
│ │ ├──18HTTP响应的构成.mkv
│ │ ├──19常见状态码.mkv
│ │ ├──20状态码302临时跳转演示.mkv
│ │ ├──21状态码304没有改动演示.mkv
│ │ ├──22状态码403禁止访问演示.mkv
│ │ ├──23状态码404没找到演示.mkv
│ │ ├──24刷新并跳转.mkv
│ │ ├──25实例:下载文件(1).mkv
│ │ ├──26实例:下载文件(2).mkv
│ │ └──27课后总结.mkv
│ ├──4-php
│ │ ├──01开启GD2图像处理的扩展.mkv
│ │ ├──02查看图像扩展GD2是否开启.mkv
│ │ ├──03绘制的步骤和坐标系.mkv
│ │ ├──04创建一个空画布.mkv
│ │ ├──05从已知图像上创建画布.mkv
│ │ ├──06销毁图像资源.mkv
│ │ ├──07输出图像或保存图像.mkv
│ │ ├──08给画布分配颜色.mkv
│ │ ├──09水平写入一行字符串.mkv
│ │ ├──10绘制一行居中字符串.mkv
│ │ ├──11写入一行TTF字符串.mkv
│ │ ├──12图像验证码(1).mkv
│ │ ├──13图像验证码(2).mkv
│ │ ├──14图像验证码(3).mkv
│ │ ├──15图像水印效果avi.mkv
│ │ ├──16图像缩略图.mkv
│ │ ├──17图像处理总结.mkv
│ │ ├──18文件上传原理.mkv
│ │ ├──19超全局变量数组$_FILES.mkv
│ │ ├──20上传文件错误代码.mkv
│ │ ├──21查看上传的临时文件位置.mkv
│ │ ├──22移动上传临时文件到永久目录中.mkv
│ │ ├──23上传文件相关配置.mkv
│ │ ├──24单个文件上传(1).mkv
│ │ ├──25单个文件上传(2).mkv
│ │ ├──26多文件上传.mkv
│ │ └──27课后总结.mkv
│ ├──5-php
│ │ ├──01昨日回顾.mkv
│ │ ├──02COOKIE和SESSION概述.mkv
│ │ ├──03IE浏览器查看COOKIE数据.mkv
│ │ ├──04什么是COOKIE.mkv
│ │ ├──05COOKIE的好处.mkv
│ │ ├──06COOKIE工作原理.mkv
│ │ ├──07添加COOKIE数据.mkv
│ │ ├──08读取COOKIE数据.mkv
│ │ ├──09COOKIE有效期:即时性设置.mkv
│ │ ├──10COOKIE有效性:设置过期时间.mkv
│ │ ├──11COOKIE路径有效性.mkv
│ │ ├──12COOKIE域名有效性.mkv
│ │ ├──13COOKIE是否仅限https发送COOKIE.mkv
│ │ ├──14COOKIE是否只能发往服务器使用COOKIE.mkv
│ │ ├──15删除COOKIE数据.mkv
│ │ ├──16COOKIE总结.mkv
│ │ ├──17什么是SESSION.mkv
│ │ ├──18SESSION工作原理.mkv
│ │ ├──19开启SESSION会话.mkv
│ │ ├──20添加SESSION数据.mkv
│ │ ├──21读取SESSION数据.mkv
│ │ ├──22删除SESSION数据.mkv
│ │ ├──23销毁SESSION文件.mkv
│ │ ├──24SESSION对应COOKIE的配置.mkv
│ │ ├──25SESSION垃圾回收机制.mkv
│ │ └──26课后总结.mkv
│ ├──6-php
│ │ ├──01准备工作.mkv
│ │ ├──02创建数据库php69.mkv
│ │ ├──03创建用户表user.mkv
│ │ ├──04添加一条用户数据.mkv
│ │ ├──05创建相册数据表photos.mkv
│ │ ├──06用户登录流程图.mkv
│ │ ├──07登录表单页面.mkv
│ │ ├──08连接数据库的公共文件.mkv
│ │ ├──09处理用户登录程序(1).mkv
│ │ ├──10处理用户登录程序(2).mkv
│ │ ├──11创建验证码.mkv
│ │ ├──12登录页面添加验证码.mkv
│ │ ├──13判断两次验证码是否一致.mkv
│ │ ├──14制作添加相册的表单.mkv
│ │ ├──15上传照片处理程序(1).mkv
│ │ ├──16判断文件内容类型.mkv
│ │ ├──17上传照片处理程序(2).mkv
│ │ ├──18上传照片处理程序(3).mkv
│ │ ├──19显示相册列表.mkv
│ │ ├──20显示相册列表(分页).mkv
│ │ ├──21显示照片详细信息.mkv
│ │ ├──22更新照片访问量.mkv
│ │ └──23课后总结.mkv
│ ├──7-面向对象_1
│ │ ├──01面向过程的编程思想.mkv
│ │ ├──02面向对象的编程思想.mkv
│ │ ├──03类和对象的关系.mkv
│ │ ├──04类的定义语法格式.mkv
│ │ ├──05类的定义语法格式.mkv
│ │ ├──06成员属性介绍.mkv
│ │ ├──07权限修饰符介绍.mkv
│ │ ├──08成员属性定义.mkv
│ │ ├──09成员方法定义.mkv
│ │ ├──10创建类的对象.mkv
│ │ ├──11上午总结.mkv
│ │ ├──12如何访问对象的属性和方法.mkv
│ │ ├──13对象属性操作.mkv
│ │ ├──14成员方法操作.mkv
│ │ ├──15$this关键字使用.mkv
│ │ ├──16类常量介绍.mkv
│ │ ├──17类常量定义.mkv
│ │ ├──18类常量举例说明.mkv
│ │ ├──19什么是构造方法.mkv
│ │ ├──20构造方法.mkv
│ │ ├──21什么是析构方法.mkv
│ │ ├──22对象何时销毁.mkv
│ │ └──23课后总结.mkv
│ ├──8-面向对象_2
│ │ ├──01昨日回顾.mkv
│ │ ├──02静态属性和静态方法.mkv
│ │ ├──03静态属性和静态方法.mkv
│ │ ├──04self关键字.mkv
│ │ ├──05实例:设计学生类(1).mkv
│ │ ├──06实例:设计学生类(2).mkv
│ │ ├──07为什么打印对象时,只能看见对象属性.mkv
│ │ ├──08OOP中内存的分配情况.mkv
│ │ ├──09值传递.mkv
│ │ ├──10引用传递.mkv
│ │ ├──11值传递变成引用传递.mkv
│ │ ├──12什么是类的封装性.mkv
│ │ ├──13实例:类的封装性.mkv
│ │ ├──14类的继承性.mkv
│ │ ├──15类的继承性.mkv
│ │ ├──16继承的语法格式.mkv
│ │ ├──17单继承和多继承.mkv
│ │ ├──18单继承的简单演示.mkv
│ │ ├──19parent关键字.mkv
│ │ ├──20什么是类的多态.mkv
│ │ ├──21方法重写要求.mkv
│ │ ├──22实例:商品类(1).mkv
│ │ ├──23实例:商品类(2).mkv
│ │ ├──24实例:商品类(3).mkv
│ │ ├──25实例:商品类(4).mkv
│ │ ├──26实例:商品类(5).mkv
│ │ └──27课后总结.mkv
│ ├──9-面向对象_3
│ │ ├──01昨日回顾.mkv
│ │ ├──02最终类和最终方法.mkv
│ │ ├──03抽象类和抽象方法(1).mkv
│ │ ├──04抽象类和抽象方法(2).mkv
│ │ ├──05接口基本概念.mkv
│ │ ├──06接口基本概念.mkv
│ │ ├──07接口实例.mkv
│ │ ├──08为什么需要类的自动加载.mkv
│ │ ├──09类文件的命名规范.mkv
│ │ ├──10自动加载函数何时调用.mkv
│ │ ├──11spl_autoload_register()函数语法.mkv
│ │ ├──12类的自动加载:使用有名函数.mkv
│ │ ├──13类的自动加载:使用匿名函数.mkv
│ │ ├──14什么是对象克隆.mkv
│ │ ├──15克隆方法__clone().mkv
│ │ ├──16foreach基本语法.mkv
│ │ ├──17使用foreach遍历对象属性.mkv
│ │ ├──18魔术方法__toString().mkv
│ │ ├──19魔术方法__invoke().mkv
│ │ ├──20什么是设计模式.mkv
│ │ ├──21单例设计核心代码.mkv
│ │ ├──22实例:单例的数据库工具类.mkv
│ │ └──23课后总结.mkv
│ ├──10-面向对象_4
│ │ └──video
│ │ ├──01面向对象开发流程.mkv
│ │ ├──02单例的设计模式.mkv
│ │ ├──03数据库工具类(1).mkv
│ │ ├──04数据库工具类(2).mkv
│ │ ├──05数据库工具类(3).mkv
│ │ ├──06数据库工具类(4).mkv
│ │ ├──07数据库工具类(5).mkv
│ │ ├──08数据库工具类(6).mkv
│ │ ├──09连接数据库的公共文件.mkv
│ │ ├──10制作显示的表格页面.mkv
│ │ ├──11显示学生信息列表.mkv
│ │ ├──12删除学生信息.mkv
│ │ ├──13创建分页类.mkv
│ │ ├──14数据分页.mkv
│ │ ├──15什么是工厂设计模式.mkv
│ │ ├──16工厂设计模式的要求.mkv
│ │ ├──17工厂实例(1).mkv
│ │ ├──18工厂实例(2).mkv
│ │ ├──19工厂模式总结.mkv
│ │ ├──20什么是PHP重载.mkv
│ │ ├──21魔术方法__get应用.mkv
│ │ ├──22魔术方法__set应用.mkv
│ │ ├──23魔术方法__isset应用.mkv
│ │ ├──24魔术方法__unset应用.mkv
│ │ ├──25魔术方法__call应用.mkv
│ │ ├──26魔术方法__callStatic应用.mkv
│ │ ├──27什么是变量序列化.mkv
│ │ ├──28数组变量序列化.mkv
│ │ ├──29数组变量反序列化.mkv
│ │ ├──30对象序列化.mkv
│ │ ├──31对象反序列化.mkv
│ │ └──32课后总结1.mkv
│ ├──11-PDO
│ │ └──video
│ │ ├──01静态延时绑定.mkv
│ │ ├──02什么是命名空间.mkv
│ │ ├──03定义单个命名空间.mkv
│ │ ├──04定义子命名空间.mkv
│ │ ├──05文件系统中访问文件方式.mkv
│ │ ├──06访问空间中元素的方式.mkv
│ │ ├──07namespace关键字.mkv
│ │ ├──08导入空间中的元素并起别名.mkv
│ │ ├──09空间总结.mkv
│ │ ├──10PDO简介.mkv
│ │ ├──11开启PDO扩展.mkv
│ │ ├──12创建PDO类的对象.mkv
│ │ ├──13PDO对象exec方法.mkv
│ │ ├──14PDO对象query方法.mkv
│ │ ├──15PDO对象lastInsertId方法.mkv
│ │ ├──16PDO对象的setAttribute方法.mkv
│ │ ├──17PDOStatement对象fetch方法.mkv
│ │ ├──18PDOStatement对象fetchAll方法.mkv
│ │ ├──19PDOStatement对象rowCount方法.mkv
│ │ ├──20错误模式:静默模式.mkv
│ │ ├──21错误模式:警告模式.mkv
│ │ ├──22错误模式:异常模式.mkv
│ │ ├──23SQL语句处理过程.mkv
│ │ ├──24SQL语句预处理步骤.mkv
│ │ ├──25制作相同结构的SQL语句.mkv
│ │ ├──26SQL语句预处理.mkv
│ │ └──27课后总结.mkv
│ ├──12-smarty
│ │ └──video
│ │ ├──01昨日回顾.mkv
│ │ ├──02实现HTML代码和PHP代码简单分离.mkv
│ │ ├──03去除视图文件中所有的PHP标记.mkv
│ │ ├──04常用PHP模板引擎.mkv
│ │ ├──05Smarty介绍.mkv
│ │ ├──06Smarty第1个案例.mkv
│ │ ├──07Smarty配置:左右定界符.mkv
│ │ ├──08Smarty配置:修改视图目录.mkv
│ │ ├──09Smarty变量:普通变量.mkv
│ │ ├──10Smarty保留变量:页面请求变量.mkv
│ │ ├──11Smarty保存变量:预定义常量.mkv
│ │ ├──12Smarty保存变量:时间戳.mkv
│ │ ├──13Smarty配置变量.mkv
│ │ ├──14上午复习.mkv
│ │ ├──15Smarty配置变量分组.mkv
│ │ ├──16foreach循环基本语法.mkv
│ │ ├──17foreach输出一维数组.mkv
│ │ ├──18foreach输出二维数组.mkv
│ │ ├──19foreach常用属性.mkv
│ │ ├──20section循环基本语法.mkv
│ │ ├──21section输出一维枚举数组.mkv
│ │ ├──22section输出二维枚举数组.mkv
│ │ ├──23section控制循环起点、步长值.mkv
│ │ ├──24if运算符介绍.mkv
│ │ ├──25if实例:当兵年龄判断.mkv
│ │ ├──26if实例:表格隔行变色.mkv
│ │ ├──27变量调节器介绍.mkv
│ │ ├──28常用的变量调节器.mkv
│ │ ├──29时间戳格式化.mkv
│ │ ├──30truncate截取字符串.mkv
│ │ └──31课后总结.mkv
│ ├──13-mvc_1
│ │ └──video
│ │ ├──01MVC概述.mkv
│ │ ├──02MVC各组件构成.mkv
│ │ ├──03MVC原理图.mkv
│ │ ├──04MVC简单演示.mkv
│ │ ├──05MVC实例:展示学生信息(1).mkv
│ │ ├──06MVC实例:展示学生信息(2).mkv
│ │ ├──07MVC实例:展示学生信息(3).mkv
│ │ ├──08MVC实例:删除学生(1).mkv
│ │ ├──09MVC实例:删除学生(2).mkv
│ │ ├──10MVC实例:删除学生(3).mkv
│ │ ├──11MVC总结.mkv
│ │ ├──12MVC第1个版本:整合学生和新闻模块(1).mkv
│ │ ├──12MVC第1个版本:整合学生和新闻模块(2).mkv
│ │ ├──13MVC第2个版本:实现基础模型类.mkv
│ │ ├──14MVC第3个版本:工厂模型类实现.mkv
│ │ ├──15MVC第4个版本:控制器类的实现(1).mkv
│ │ ├──16MVC第4个版本:控制器类的实现(2).mkv
│ │ ├──17MVC第5个版本:添加学生(1).mkv
│ │ ├──18MVC第5个版本:添加学生(2).mkv
│ │ ├──19MVC第6个版本:控制器类的进一步优化.mkv
│ │ └──20课后总结.mkv
│ ├──14-mvc_2
│ │ └──video
│ │ ├──01昨日回顾.mkv
│ │ ├──02MVC第8个版本:基础控制器类的实现.mkv
│ │ ├──03MVC第9个版本:修改学生(1).mkv
│ │ ├──04MVC第9个版本:修改学生(2).mkv
│ │ ├──05MVC第9个版本:修改学生(3).mkv
│ │ ├──06MVC第9个版本:修改学生(4).mkv
│ │ ├──07MVC第10个版本:目录简单划分(1).mkv
│ │ ├──08MVC第10个版本:目录简单划分(2).mkv
│ │ ├──09MVC第11个版本:前端控制器(index.php).mkv
│ │ ├──10MVC第11个版本:前端控制器(index.php).mkv
│ │ ├──11MVC第12个版本:平台概念引入.mkv
│ │ ├──12MVC第12个版本:平台概念引入.mkv
│ │ ├──13MVC第12个版本:平台概念引入.mkv
│ │ ├──14MVC第12个版本:平台概念引入.mkv
│ │ ├──15MVC第13个版本:类的自动加载.mkv
│ │ ├──16MVC第14个版本:目录常量定义.mkv
│ │ ├──17MVC第14个版本:目录常量定义.mkv
│ │ ├──18MVC第15个版本:配置文件.mkv
│ │ ├──19MVC第15个版本:初始类(1).mkv
│ │ ├──20MVC第15个版本:初始类(2).mkv
│ │ ├──21MVC第15个版本:初始类(3).mkv
│ │ ├──22MVC第15个版本:修改Db类.mkv
│ │ └──23课后总结.mkv
│ ├──15-blog_1
│ │ └──video
│ │ ├──01昨日回顾.mkv
│ │ ├──02项目开发流程.mkv
│ │ ├──03博客介绍.mkv
│ │ ├──04导入博客数据库.mkv
│ │ ├──05运行博客项目.mkv
│ │ ├──06博客项目前后台功能.mkv
│ │ ├──07MVC目录结构.mkv
│ │ ├──08MVC框架:前台配置文件.mkv
│ │ ├──09MVC框架:前台入口文件.mkv
│ │ ├──10MVC框架:初始类1.mkv
│ │ ├──11MVC框架:初始类2.mkv
│ │ ├──12测试框架正常运行.mkv
│ │ ├──13学生信息管理(前台).mkv
│ │ ├──14后台入口文件.mkv
│ │ ├──15学生信息管理(后台).mkv
│ │ ├──16上午回顾.mkv
│ │ ├──17上午回顾.mkv
│ │ ├──18为什么要封装PDOWrapper类.mkv
│ │ ├──19封装PDO类(1).mkv
│ │ ├──20封装PDO类(2).mkv
│ │ ├──21封装PDO类(3).mkv
│ │ ├──22封装PDO类(4).mkv
│ │ ├──23封装PDO类(5).mkv
│ │ ├──24MVC引入PDOWrapper类.mkv
│ │ ├──25创建模型类对象的工厂方法.mkv
│ │ ├──26封装自己的Smarty类.mkv
│ │ ├──27创建基础控制器并引入Smarty类.mkv
│ │ ├──28Smarty与MVC整合.mkv
│ │ └──29课后总结.mkv
│ ├──16-blog_2
│ │ └──video
│ │ ├──01后台首页——准备工作.mkv
│ │ ├──02后台首页——HTML框架标记.mkv
│ │ ├──03后台首页——显示后台首页.mkv
│ │ ├──04用户管理——创建user数据表.mkv
│ │ ├──05用户管理——准备工作.mkv
│ │ ├──06用户管理——显示用户列表.mkv
│ │ ├──07用户管理——显示用户列表.mkv
│ │ ├──08用户管理——删除用户记录.mkv
│ │ ├──09用户管理——注册用户.mkv
│ │ ├──10用户管理——修改用户.mkv
│ │ ├──11用户管理——修改用户.mkv
│ │ ├──12用户登录——准备工作.mkv
│ │ ├──13用户登录——显示登录界面.mkv
│ │ ├──14用户登录——登录流程图.mkv
│ │ ├──15用户登录——登录验证.mkv
│ │ ├──16用户登录——登录验证.mkv
│ │ ├──17创建图像验证码类.mkv
│ │ ├──18用户登录——引入验证码.mkv
│ │ ├──19用户访问权限管理.mkv
│ │ ├──20后台首页视图相关资料修改.mkv
│ │ ├──21用户退出.mkv
│ │ ├──22友情链接——准备工作.mkv
│ │ ├──23友情链接——创建数据表.mkv
│ │ ├──24友情链接——显示列表.mkv
│ │ ├──25友情链接——添加记录.mkv
│ │ └──26课后总结.mkv
│ ├──17-blog_3
│ │ └──video
│ │ ├──01文章类别——准备工作.mkv
│ │ ├──02文章类别——创建数据表.mkv
│ │ ├──03文章类别——创建分类控制器.mkv
│ │ ├──04文章类别——无限级分类表结构.mkv
│ │ ├──05文章类别——无限级分类原理.mkv
│ │ ├──06文章类别——无限级分类代码(1).mkv
│ │ ├──07文章类别——无限级分类代码(2).mkv
│ │ ├──08文章类别——显示分类列表.mkv
│ │ ├──09文章类别——添加分类(1).mkv
│ │ ├──10文章类别——添加分类(2).mkv
│ │ ├──11文章类别——删除分类.mkv
│ │ ├──12文章管理——准备工作.mkv
│ │ ├──13文章管理——创建数据表.mkv
│ │ ├──14文章管理——显示文章列表(1).mkv
│ │ ├──15文章管理——显示文章列表(2).mkv
│ │ ├──16文章管理——显示文章列表(3).mkv
│ │ ├──17文章管理——添加文章(1).mkv
│ │ ├──18文章管理——在线HTML编辑器引入.mkv
│ │ ├──19文章管理——添加文章(2).mkv
│ │ ├──20创建分页类文件.mkv
│ │ ├──21文章数据分页.mkv
│ │ ├──22文章搜索条件.mkv
│ │ └──23文章搜索分页效果.mkv
│ └──18-blog_4
│ └──video
│ ├──01昨日回顾.mkv
│ ├──02前端介绍.mkv
│ ├──03前台首页——准备工作.mkv
│ ├──04前台配置文件.mkv
│ ├──05首页控制器添加index()方法.mkv
│ ├──06获取友情链接数据.mkv
│ ├──07获取文章分类数据(1).mkv
│ ├──08获取文章分类数据(2).mkv
│ ├──09获取文章归档数据(1).mkv
│ ├──10获取文章归档数据(2).mkv
│ ├──11获取文章连表查询的数据.mkv
│ ├──12首页分页功能.mkv
│ ├──13首页搜索功能.mkv
│ ├──14列表页管理——后台登录地址修改.mkv
│ ├──15列表页管理——读列文章列表并分页.mkv
│ ├──16内容页管理——添加content方法.mkv
│ ├──17根据ID获取连表查询的数据.mkv
│ ├──18百度分享按钮.mkv
│ ├──19更新文章阅读数.mkv
│ ├──20前一篇和后一篇实现.mkv
│ ├──21更新点赞数(1).mkv
│ ├──22更新点赞数(2).mkv
│ └──23课后总结.mkv
├──07. JavaScript基础
│ ├──Day-1
│ │ └──视频
│ │ ├──01JavaScript简介.mkv
│ │ ├──02学习JS的IDE和浏览器工具.mkv
│ │ ├──03script位置.mkv
│ │ ├──04语言基础.mkv
│ │ ├──05变量(一).mkv
│ │ ├──06变量(二).mkv
│ │ ├──07常量.mkv
│ │ ├──08运算符(一).mkv
│ │ ├──09运算符(逻辑运算符).mkv
│ │ ├──10运算符(三).mkv
│ │ ├──11数组.mkv
│ │ ├──12对象.mkv
│ │ ├──13对象(二).mkv
│ │ ├──14数据类型.mkv
│ │ └──15引用类型和原型类型.mkv
│ └──Day-2
│ └──视频
│ ├──01反馈.mkv
│ ├──02转换成字符串.mkv
│ ├──03转换成数值型.mkv
│ ├──04转换成布尔型.mkv
│ ├──05顺序结构.mkv
│ ├──06分支结构.mkv
│ ├──07循环结构.mkv
│ ├──08函数基础.mkv
│ ├──09作用域.mkv
│ ├──10内置对象-Math.mkv
│ ├──11内置对象-Date.mkv
│ ├──12内置对象-String.mkv
│ ├──13内置函数-Array.mkv
│ └──14总结.mkv
├──08. Web API(BOM.DOM.事件.特效)
│ ├──Day-3
│ │ └──视频
│ │ ├──01回顾.mkv
│ │ ├──02今日目标.mkv
│ │ ├──03什么是DOM.mkv
│ │ ├──04节点以及节点关系.mkv
│ │ ├──05根据document查询标签节点.mkv
│ │ ├──06根据document查询标签节点(二).mkv
│ │ ├──07相互关系查询--根据父节点查找所有的子节点.mkv
│ │ ├──08相互关系查询--根据父节点查询所有的后代节点.mkv
│ │ ├──09根据父节点查询子节点--查询第一个和最后一个子节点.mkv
│ │ ├──10相互关系查询--根据子节点查询父节点和兄弟节点查询.mkv
│ │ ├──11遗留DOM(0级DOM).mkv
│ │ ├──12创建添加节点.mkv
│ │ ├──13克隆节点.mkv
│ │ ├──14替换和删除节点.mkv
│ │ ├──15设置和获取元素的css样式.mkv
│ │ ├──16事件简介.mkv
│ │ ├──17事件绑定方式.mkv
│ │ ├──18事件处理函数中的this练习.mkv
│ │ ├──19事件对象.mkv
│ │ └──20事件对象常用属性.mkv
│ ├──Day-4
│ │ └──视频
│ │ ├──01回顾.mkv
│ │ ├──02获取元素的属性.mkv
│ │ ├──03修改、添加元素的属性.mkv
│ │ ├──04删除判断元素的属性.mkv
│ │ ├──05总结.mkv
│ │ ├──06innerHTML和innerText.mkv
│ │ ├──07dom对象其他通用属性.mkv
│ │ ├──08案例--全选反选取消.mkv
│ │ ├──09DOM获取元素的位置.mkv
│ │ ├──10通过dom对象绑定事件.mkv
│ │ ├──11通过html标签的on...属性绑定事件.mkv
│ │ ├──12事件监听方式绑定事件.mkv
│ │ ├──13事件对象与keyCode值.mkv
│ │ ├──14阻止冒泡事件.mkv
│ │ ├──15阻止默认行为.mkv
│ │ ├──16案例--html布局.mkv
│ │ ├──17案例--JS部分1.mkv
│ │ └──18案例--JS部分2.mkv
│ └──Day-5
│ └──视频
│ ├──01总结--元素类型节点增删改查操作.mkv
│ ├──02总结--属性类型节点增删改查操作.mkv
│ ├──03总结--文本类型节点增删改查操作.mkv
│ ├──04总结--事件.mkv
│ ├──05总结--事件对象.mkv
│ ├──06全局环境.mkv
│ ├──07执行流程及错误对执行的影响.mkv
│ ├──08定时器.mkv
│ ├──09垃圾回收与闭包.mkv
│ ├──10闭包的应用.mkv
│ ├──11给会走的时间加入控制按钮.mkv
│ ├──12会走的时间加入控制按钮2.mkv
│ ├──13淡入效果(一,完成生硬的变化).mkv
│ └──14完成淡入效果.mkv
├──09. JavaScript高级(面向对象.闭包.原型链.正则)
│ ├──Day-6
│ │ └──视频
│ │ ├──01闭包回顾.mkv
│ │ ├──02正则简介.mkv
│ │ ├──03正则入门案例.mkv
│ │ ├──04量词.mkv
│ │ ├──05元字符.mkv
│ │ ├──06方括号.mkv
│ │ ├──07修饰符.mkv
│ │ ├──08转义字符.mkv
│ │ ├──09捕获和引用.mkv
│ │ ├──10JS匹配中文.mkv
│ │ ├──11PHP中匹配中文.mkv
│ │ ├──12环视.mkv
│ │ ├──13环视排除.mkv
│ │ ├──14正则对象中的成员属性和方法.mkv
│ │ ├──15search方法.mkv
│ │ ├──16match.mkv
│ │ ├──17split分割成数组.mkv
│ │ ├──18replace.mkv
│ │ ├──19判断手机号.mkv
│ │ ├──20解决结巴程序.mkv
│ │ └──21总结.mkv
│ ├──Day-7
│ │ └──视频
│ │ ├──01回顾.mkv
│ │ ├──02邮箱验证规则.mkv
│ │ ├──03用户名验证.mkv
│ │ ├──04preg_match.mkv
│ │ ├──05preg_match_all.mkv
│ │ ├──06preg_replace.mkv
│ │ ├──07贪婪模式和非贪婪模式.mkv
│ │ ├──08PHP正则要使用单引号.mkv
│ │ ├──09表单验证.mkv
│ │ ├──10表单验证(二).mkv
│ │ ├──11仿淘宝评分小星星.mkv
│ │ ├──12仿淘宝评分小星星修改.mkv
│ │ ├──13标签页效果.mkv
│ │ ├──14横向下拉菜单.mkv
│ │ └──15下拉菜单缓慢变化.mkv
│ ├──Day-8
│ │ └──视频
│ │ ├──01回顾.mkv
│ │ ├──02今日目标.mkv
│ │ ├──03面向对象介绍.mkv
│ │ ├──04回顾如何得到对象.mkv
│ │ ├──05new构造函数方式得到对象.mkv
│ │ ├──06对象相关操作.mkv
│ │ ├──07对象在内存中的存在形式.mkv
│ │ ├──08原型对象.mkv
│ │ ├──09原型对象与构造函数与实例对象的关系.mkv
│ │ ├──10原型链.mkv
│ │ ├──11扩展内置对象.mkv
│ │ ├──12原型对象应用--为DOM对象添加方法.mkv
│ │ ├──13定义对象的多种方式.mkv
│ │ ├──14函数也是值.mkv
│ │ ├──15arguments对象.mkv
│ │ ├──16call和apply和bind的用法.mkv
│ │ └──17总结.mkv
│ └──Day-9
│ └──视频
│ ├──01回顾.mkv
│ ├──02Object.mkv
│ ├──03Object小结.mkv
│ ├──04冒充方式实现继承.mkv
│ ├──05原型链方式和create方法实现继承.mkv
│ ├──06事件处理函数中的this.mkv
│ ├──07面向对象中的this.mkv
│ ├──08定时器中的this.mkv
│ ├──09贪吃蛇分析.mkv
│ ├──10创建地图.mkv
│ ├──11创建食物并放到地图上.mkv
│ └──12创建蛇并显示到地图上.mkv
├──10.精通Ajax
│ ├──Day-10
│ │ └──视频
│ │ ├──01JS函数回顾.mkv
│ │ ├──02JS DOM和事件回顾.mkv
│ │ ├──03JS 面向对象回顾.mkv
│ │ ├──04JS 正则回顾.mkv
│ │ ├──05Ajax介绍.mkv
│ │ ├──06Ajax工作原理.mkv
│ │ ├──07创建Ajax对象.mkv
│ │ ├──08验证用户名--创建所需文件.mkv
│ │ ├──09验证用户名--失去焦点准备发送.mkv
│ │ ├──10验证用户名--发送请求及服务器返回数据.mkv
│ │ ├──11验证用户名--接收服务器返回的数据并处理.mkv
│ │ ├──12验证用户名--检测Ajax的执行状态.mkv
│ │ ├──13验证用户名--总结.mkv
│ │ ├──14细节问题--编码.mkv
│ │ ├──15细节问题--缓存问题.mkv
│ │ ├──16细节问题--get和post请求.mkv
│ │ ├──17细节问题--同步异步请求.mkv
│ │ ├──18细节问题--status状态码.mkv
│ │ ├──19什么是JSON.mkv
│ │ ├──20JSON--js数据和json格式互换.mkv
│ │ ├──21JSON--PHP数据和json格式互换.mkv
│ │ ├──22服务器返回JSON格式的数据.mkv
│ │ ├──23案例--三表介绍.mkv
│ │ └──24页面加载,获取省.mkv
│ └──Day-11
│ └──视频
│ ├──01回顾.mkv
│ ├──02今日目标.mkv
│ ├──03三级联动--获取省.mkv
│ ├──04三级联动--切换省获取市.mkv
│ ├──05三级联动--切换市获取县.mkv
│ ├──06优化--分析json文件.mkv
│ ├──07优化--修改代码.mkv
│ ├──08优化--封装函数.mkv
│ ├──09XML介绍.mkv
│ ├──10编写XML文档.mkv
│ ├──11服务器返回xml格式的数据.mkv
│ ├──12JS处理返回的XML.mkv
│ ├──13FormData--制作表单.mkv
│ ├──14FormData--收集表单数据发送到服务器.mkv
│ ├──15FormData--使用注意事项.mkv
│ ├──16FormData--完成异步上传.mkv
│ ├──17进度条--准备工作.mkv
│ ├──18进度条--分析Ajax对象的upload属性.mkv
│ ├──18同源策略和跨域请求.mkv
│ ├──19进度条--完成.mkv
│ ├──20实现跨域--代理方式.mkv
│ └──21实现跨域--CORS方式.mkv
├──11.jQuery与插件开发实战
│ ├──Day-12
│ │ └──视频
│ │ ├──01Ajax回顾.mkv
│ │ ├──02今日目标.mkv
│ │ ├──03jQuery简介.mkv
│ │ ├──04jQuery版本介绍.mkv
│ │ ├──05快速入门.mkv
│ │ ├──06可编辑的表格--知识点.mkv
│ │ ├──07可编辑的表格--HTML和css.mkv
│ │ ├──08可编辑的表格--选择td绑定单击事件.mkv
│ │ ├──09可编辑的表格--单击td,设置它的内容为input.mkv
│ │ ├──10可编辑的表格--使用链式操作.mkv
│ │ ├──11可编辑的表格--给input添加键盘事件.mkv
│ │ ├──12可编辑的表格--总结.mkv
│ │ ├──13纵向导航菜单--知识点.mkv
│ │ ├──14纵向导航菜单--HTML和css.mkv
│ │ ├──15纵向导航菜单--JS实现效果.mkv
│ │ ├──16纵向导航菜单--案例总结.mkv
│ │ ├──17横向导航菜单--知识点.mkv
│ │ ├──18横向导航菜单--HTML和css.mkv
│ │ ├──19横向导航菜单--实现基本的效果.mkv
│ │ ├──20横向导航菜单--解决BUG.mkv
│ │ ├──21横向导航菜单--mouseover和mouseenter对比.mkv
│ │ ├──22标签页效果--HTML和css.mkv
│ │ └──23标签页效果--JS实现功能.mkv
│ ├──Day-13
│ │ └──视频
│ │ ├──01回顾.mkv
│ │ ├──02释放$.mkv
│ │ ├──03ready的简写形式.mkv
│ │ ├──04ready事件和onload事件的区别.mkv
│ │ ├──05DOM对象和jQuery对象的区别.mkv
│ │ ├──06each方法的使用.mkv
│ │ ├──07普通事件的其他用法.mkv
│ │ ├──08on事件可以给未来的元素添加事件.mkv
│ │ ├──09on的多种用法.mkv
│ │ ├──10off事件.mkv
│ │ ├──11one一次性事件.mkv
│ │ ├──12Ajax的get方法.mkv
│ │ ├──13Ajax的post方法.mkv
│ │ ├──14Ajax的ajax方法.mkv
│ │ ├──15Ajax收集表单数据.mkv
│ │ ├──16Ajax提示方法.mkv
│ │ ├──17分页原理.mkv
│ │ ├──18分页--查询分页数据.mkv
│ │ ├──19分页--PHP实现分页.mkv
│ │ ├──20无刷新分页--获取第一页数据.mkv
│ │ └──21无刷新分页--实现无刷新分页.mkv
│ └──Day-14
│ └──视频
│ ├──01回顾.mkv
│ ├──02效果.mkv
│ ├──03JSONP技术.mkv
│ ├──04JSONP技术.mkv
│ ├──05jQuery中的跨域请求.mkv
│ ├──06跨域实现无刷新分页.mkv
│ ├──07添加节点.mkv
│ ├──08替换节点.mkv
│ ├──09包裹节点.mkv
│ ├──10删除节点.mkv
│ ├──11克隆节点.mkv
│ ├──12属性操作.mkv
│ ├──13全选反选取消.mkv
│ ├──14插件语法.mkv
│ ├──15自定义插件(一).mkv
│ ├──16自定义插件(二).mkv
│ ├──17自定义插件(三).mkv
│ ├──18自定义插件(四).mkv
│ ├──19第三方插件--layer提示层.mkv
│ ├──20第三方插件--图表插件.mkv
│ └──21第三方插件--旋转插件.mkv
├──12.LINUX系统
│ ├──Day-1
│ │ └──视频
│ │ ├──01.操作系统介绍.mkv
│ │ ├──02.为什么使用Linux操作系统.mkv
│ │ ├──03.Linux简介.mkv
│ │ ├──04.vmware的安装.mkv
│ │ ├──05.新建虚拟机.mkv
│ │ ├──06.安装Linux(1).mkv
│ │ ├──07.安装Linux(2).mkv
│ │ ├──08.目录介绍.mkv
│ │ ├──09.shell终端界面介绍.mkv
│ │ ├──10.ls指令.mkv
│ │ ├──11.clear指令.mkv
│ │ ├──12.su指令.mkv
│ │ ├──13.cd指令.mkv
│ │ ├──14.pwd指令.mkv
│ │ ├──15.touch指令.mkv
│ │ ├──16.mkdir指令.mkv
│ │ ├──17.cp指令.mkv
│ │ ├──18.mv指令.mkv
│ │ ├──19.rm指令.mkv
│ │ ├──20.tail和head指令.mkv
│ │ ├──21.cat与tac指令.mkv
│ │ ├──22.vim指令.mkv
│ │ ├──23.关机重启指令.mkv
│ │ └──24.回顾总结.mkv
│ └──Day-2
│ └──20181101_Linux_02
│ └──视频
│ ├──01.昨日回顾.mkv
│ ├──02.du指令.mkv
│ ├──03.df指令.mkv
│ ├──04.free指令.mkv
│ ├──05.find指令.mkv
│ ├──06.ps指令.mkv
│ ├──07.service指令.mkv
│ ├──08.grep指令.mkv
│ ├──09.wc指令.mkv
│ ├──10.管道.mkv
│ ├──11.vi介绍.mkv
│ ├──12.vim的三种模式.mkv
│ ├──13.命令模式-光标快速移动.mkv
│ ├──14.命令模式-复制操作.mkv
│ ├──15.命令模式-删除剪切指令.mkv
│ ├──16.命令模式-撤销与重做.mkv
│ ├──17.三种模式的切换.mkv
│ ├──18.末行模式.mkv
│ ├──19.编辑模式.mkv
│ ├──20.异常退出.mkv
│ ├──21.用户和用户组的介绍.mkv
│ ├──22.用户添加指令.mkv
│ ├──23.用户修改指令.mkv
│ ├──24.用户密码设置.mkv
│ ├──25.用户的删除操作.mkv
│ ├──26.用户组的添加操作.mkv
│ ├──27.用户组的修改操作.mkv
│ └──28.用户组的删除操作.mkv
├──13.GIT
│ ├──Day-3
│ │ └──视频
│ │ ├──01.昨日回顾.mkv
│ │ ├──02.权限介绍.mkv
│ │ ├──03.身份介绍.mkv
│ │ ├──04.权限的查看操作.mkv
│ │ ├──05.权限设置-字母形式.mkv
│ │ ├──06.课堂练习.mkv
│ │ ├──07.权限设置-数字形式.mkv
│ │ ├──08.权限设置的注意事项.mkv
│ │ ├──09.属主与数组的介绍.mkv
│ │ ├──10.chown指令.mkv
│ │ ├──11.chgrp指令.mkv
│ │ ├──12.sudo配置.mkv
│ │ ├──13.运行级别.mkv
│ │ ├──14.ip地址的查看.mkv
│ │ ├──15.网卡的配置文件.mkv
│ │ ├──16.网络服务操作.mkv
│ │ ├──17.ssh的简介.mkv
│ │ ├──18.ssh远程连接.mkv
│ │ ├──19.ssh文件传输.mkv
│ │ ├──20.rpm软件管理.mkv
│ │ ├──21.yum的基本语法.mkv
│ │ ├──22.实例:搭建lamp环境.mkv
│ │ └──23.源码编译nginx.mkv
│ └──Day-4
│ └──视频
│ ├──01.场景问题.mkv
│ ├──02.svn简介.mkv
│ ├──03.svn的优点.mkv
│ ├──04.svn的执行流程.mkv
│ ├──05.svn两端的安装.mkv
│ ├──06.服务端的操作.mkv
│ ├──07.svn仓库检出.mkv
│ ├──08.提交第一个代码文件.mkv
│ ├──09.设置匿名提交并解决图标问题.mkv
│ ├──10.常用的操作指令.mkv
│ ├──11.批量提交文档.mkv
│ ├──12.svn常规的图标集.mkv
│ ├──13.差异存储机制.mkv
│ ├──14.文件忽略操作.mkv
│ ├──15.版本回退与版本冲突.mkv
│ ├──16.版本冲突的解决.mkv
│ ├──17.svn的多仓库配置.mkv
│ ├──18.svn的权限控制.mkv
│ ├──19.创建svn服务.mkv
│ └──20.钩子程序的使用.mkv
├──14.nodejs
│ ├──Day-1
│ │ └──视频
│ │ ├──0.0.JavaScript介绍.mkv
│ │ ├──0.1.JS语法回顾.mkv
│ │ ├──0.2.JS语法回顾-函数.mkv
│ │ ├──0.3.JS语法回顾-面向对象.mkv
│ │ ├──0.4.Node简介.mkv
│ │ ├──0.5.node运行JS代码.mkv
│ │ ├──0.6.REPL环境运行js代码.mkv
│ │ ├──0.7.JS不同宿主提供API的概述.mkv
│ │ ├──0.8.读取文件内容.mkv
│ │ ├──0.9.异步的概念.mkv
│ │ ├──1.0.fs模块读写文件内容.mkv
│ │ ├──1.1.启动一个http服务.mkv
│ │ └──1.2.相应数据.mkv
│ ├──Day-2
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.内容回顾.mkv
│ │ ├──0.2.启动一个HTTP服务器.mkv
│ │ ├──0.3.相应一段中文给客户端.mkv
│ │ ├──0.3.相应一个完整的html页面.mkv
│ │ ├──0.4.响应一张图片.mkv
│ │ ├──0.5.响应其他静态资源.mkv
│ │ ├──0.6.防apache服务器加载文件列表.mkv
│ │ ├──0.7.读取文件及文件夹的名字.mkv
│ │ ├──0.8.获取文件在前台遍历.mkv
│ │ ├──0.9.回顾JSON相互转换的知识点.mkv
│ │ ├──1.0.获取文件其他属性.mkv
│ │ ├──1.1.利用自调用闭包函数解决I丢失的问题.mkv
│ │ ├──1.2.获取文件其他属性.mkv
│ │ ├──1.3.获取文件类型.mkv
│ │ ├──1.4.加载安装moment第三方时间处理模块.mkv
│ │ ├──1.5.npm的基本使用.mkv
│ │ ├──1.6.解决 npm 被墙问题.mkv
│ │ ├──1.7.package.json 与 package-lock.json 文件的作用.mkv
│ │ ├──1.8.postman的使用.mkv
│ │ └──99.1.扩展补充-事件传播及浏览器的事件处理.mkv
│ ├──Day-3
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.知识回顾.mkv
│ │ ├──0.2.服务端渲染1.mkv
│ │ ├──0.3.服务端渲染2.mkv
│ │ ├──0.4.nodemon小工具失败的演示.mkv
│ │ ├──0.5.Common规范的由来及各组织和JS的关系.mkv
│ │ ├──0.6.node对commonjs的规范的支持.mkv
│ │ ├──0.7.模块的导出问题.mkv
│ │ ├──0.8.模块加载规则和顺序.mkv
│ │ ├──0.9.模块化拆分http.js.mkv
│ │ ├──1.0.模块化修改apche.mkv
│ │ ├──1.1.Mysql基本操作.mkv
│ │ ├──1.2.连接数据库查询数据.mkv
│ │ ├──1.3.项目-加载静态页面.mkv
│ │ ├──1.4.动态获取数据.mkv
│ │ ├──1.5.动态获取数据-梳理注释.mkv
│ │ └──1.6.作业.mkv
│ ├──Day-4
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.回顾.mkv
│ │ ├──0.2.判断HTTP请求方式.mkv
│ │ ├──0.3.解析get请求的参数.mkv
│ │ ├──0.4.获取单个用户信息.mkv
│ │ ├──0.5.链式操作原理.mkv
│ │ ├──0.6.使用链式操作获取全部数据.mkv
│ │ ├──0.7.获取单个用户数据.mkv
│ │ ├──0.8.修改-用户数据获取展示.mkv
│ │ ├──0.9.接收POST数据.mkv
│ │ ├──1.0.获取表单提交的post数据.mkv
│ │ ├──1.1.添加update方法修改数据.mkv
│ │ ├──1.2.完成弹窗跳转.mkv
│ │ ├──1.3.删除操作.mkv
│ │ ├──1.4.ES6简介.mkv
│ │ ├──1.5.let声明变量.mkv
│ │ ├──1.6.const.mkv
│ │ ├──1.7.模板字符.mkv
│ │ ├──1.8.解构赋值.mkv
│ │ ├──1.9.属性及方法的简写.mkv
│ │ └──2.0.属性及方法的简写应用.mkv
│ ├──Day-5
│ │ └──视频
│ │ ├──0.0.反馈1.mkv
│ │ ├──0.1.反馈2.mkv
│ │ ├──0.2.项目梳理.mkv
│ │ ├──0.3.promise.mkv
│ │ ├──0.4.promise容器原理.mkv
│ │ ├──0.5.箭头函数.mkv
│ │ ├──0.6.express介绍及安装.mkv
│ │ ├──0.7.express基本使用.mkv
│ │ ├──0.8.内置路由重构项目.mkv
│ │ ├──0.9.使用外置路由.mkv
│ │ ├──1.0.优化路由.mkv
│ │ ├──1.1.重构模板引擎.mkv
│ │ ├──1.2.利用express托管静态资源.mkv
│ │ ├──1.3.完成整个项目重构.mkv
│ │ ├──1.4.post请求头的问题.mkv
│ │ ├──1.5.PHP实现文件上传.mkv
│ │ └──1.6.作业.mkv
│ └──Day-6
│ └──视频
│ ├──0.0.反馈.mkv
│ ├──0.1.复习.mkv
│ ├──0.2.实现文件上传.mkv
│ ├──0.3.项目中实现文件上传.mkv
│ ├──0.4.项目中实现文件上传-入库.mkv
│ ├──0.5.技术上解决登录.mkv
│ ├──0.6.完成登录功能.mkv
│ ├──0.7.session-cookie的判断.mkv
│ ├──0.8.路由中间件1.mkv
│ ├──0.9.中间件2.mkv
│ ├──1.0.node结课.mkv
│ └──99.为HTTP中get和post平反.mkv
├──15.VueJS品优购前后端分离
│ ├──Day-10
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习.mkv
│ │ ├──0.2.获取全部数据.mkv
│ │ ├──0.3.添加任务.mkv
│ │ ├──0.4.删除任务.mkv
│ │ ├──0.5.完成任务.mkv
│ │ ├──0.6.完成任务.mkv
│ │ ├──0.7.解决BUG的问题.mkv
│ │ ├──0.8.组件的基本使用.mkv
│ │ ├──0.9.组件使用的注意事项.mkv
│ │ ├──1,5.路由动态匹配.mkv
│ │ ├──1.0.组件使用.mkv
│ │ ├──1.1.Vue组件的概念.mkv
│ │ ├──1.2.组件传值.mkv
│ │ ├──1.3.生命周期.mkv
│ │ ├──1.4.路由组件.mkv
│ │ └──1.5.cli.mkv
│ ├──Day-7
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.回顾总结.mkv
│ │ ├──0.2.工程化演进.mkv
│ │ ├──0.3.vue介绍及简单安装.mkv
│ │ ├──0.3.工程化演进2.mkv
│ │ ├──0.4.CND加速.mkv
│ │ ├──0.5.vue实例.mkv
│ │ ├──0.6.插值.mkv
│ │ ├──0.7.v-text和v-html指令.mkv
│ │ ├──0.8.v-bind指令.mkv
│ │ ├──0.9.v-model单双向数据绑定及修饰符.mkv
│ │ ├──1.0.v-on指令.mkv
│ │ ├──1.1.事件修饰符.mkv
│ │ ├──1.2.事件修饰符2.mkv
│ │ ├──1.3.关于事件绑定的说明.mkv
│ │ ├──1.4.作业.mkv
│ │ └──99.oninput事件.mkv
│ ├──Day-8
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习1.mkv
│ │ ├──0.2.复习2.mkv
│ │ ├──0.3.v-show.mkv
│ │ ├──0.4.v-if.mkv
│ │ ├──0.5.v-for.mkv
│ │ ├──0.6.v-cloak.mkv
│ │ ├──0.7.v-once.mkv
│ │ ├──0.8.TodoLis案例介绍.mkv
│ │ ├──0.9.TodoList项目搭建.mkv
│ │ ├──1.0.初始化代码加载调试.mkv
│ │ ├──1.1.莫名其妙--不要看.mkv
│ │ ├──1.2.根据数据展示及隐藏.mkv
│ │ ├──1.3.添加任务.mkv
│ │ ├──1.4.全选与反选.mkv
│ │ ├──1.5.实现全选与全不选.mkv
│ │ ├──1.6.完成任务时的样式.mkv
│ │ ├──1.7.删除任务.mkv
│ │ ├──1.8.删除已完成的任务.mkv
│ │ └──1.9.MVVM设计思想.mkv
│ └──Day-9
│ └──视频
│ ├──0.0.反馈.mkv
│ ├──0.1.复习.mkv
│ ├──0.2.MVC与MVVM工程理念.mkv
│ ├──0.3.计算属性.mkv
│ ├──0.4.侦听器.mkv
│ ├──0.5.侦听器.mkv
│ ├──0.6.使用ref操作DOM.mkv
│ ├──0.7.过滤器的使用.mkv
│ ├──0.8.过滤器的应用.mkv
│ ├──0.9.失败的过滤器应用.mkv
│ ├──1.0.过滤器的应用.mkv
│ ├──1.1.自定义过滤器传值.mkv
│ ├──1.2.动画及过渡.mkv
│ ├──1.3.json-server1.mkv
│ ├──1.4.axios的使用.mkv
│ └──1.5.作业.mkv
├──16.VUE项目
│ ├──Day-11
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习.mkv
│ │ ├──0.2.ES6的模块化.mkv
│ │ ├──0.3.严格模式概览.mkv
│ │ ├──0.4.代码加载.mkv
│ │ ├──0.5.代码加载.mkv
│ │ ├──0.6.添加自己的路由.mkv
│ │ ├──0.7.项目开始说明.mkv
│ │ ├──0.8.项目开始.mkv
│ │ ├──0.9.项目的流程.mkv
│ │ ├──1.0.导入数据.mkv
│ │ ├──1.1.测试接口.mkv
│ │ ├──1.2.token的作用.mkv
│ │ ├──1.3.项目预览.mkv
│ │ ├──1.4.项目开发开始.mkv
│ │ ├──1.5.登陆路由.mkv
│ │ ├──1.6.使用ElementUI.mkv
│ │ └──1.7.登陆页面.mkv
│ ├──Day-12
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习.mkv
│ │ ├──0.2.登录逻辑.mkv
│ │ ├──0.3.封装axios.mkv
│ │ ├──0.4.登录逻辑完成.mkv
│ │ ├──0.5.验证登录.mkv
│ │ ├──0.6.首页及头部布局.mkv
│ │ ├──0.7.左侧布局.mkv
│ │ ├──0.8.路由跳转.mkv
│ │ ├──0.9.嵌套路由(子路由).mkv
│ │ ├──1.0.判断登录.mkv
│ │ ├──1.1.退出登录.mkv
│ │ ├──1.2.用户列表页面布局.mkv
│ │ ├──1.3.获取用户列表.mkv
│ │ ├──1.4.遍历用户数据.mkv
│ │ ├──1.5.封装axios.mkv
│ │ ├──1.6.操作及状态样式.mkv
│ │ ├──1.7.分页样式.mkv
│ │ ├──1.8.模糊搜索.mkv
│ │ ├──1.9.添加用户弹窗.mkv
│ │ └──2.0.添加用户.mkv
│ ├──Day-13
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习1.mkv
│ │ ├──0.2.复习2.mkv
│ │ ├──0.3.修改用户状态.mkv
│ │ ├──0.4.修改用户状态失败.mkv
│ │ ├──0.5.删除用户功能.mkv
│ │ ├──0.6.删除用户功能提示窗.mkv
│ │ ├──0.7.修改用户窗口展示.mkv
│ │ ├──0.8.修改用户数据.mkv
│ │ ├──0.9.展示角色窗口.mkv
│ │ ├──1.0.请求服务器修改角色.mkv
│ │ ├──1.1.角色笔记任务.mkv
│ │ ├──1.2.分页显示1.mkv
│ │ ├──1.3.分页笔记.mkv
│ │ ├──1.4.分页显示2.mkv
│ │ ├──1.5.前后端项目分离1.mkv
│ │ └──1.6.后台PHP.mkv
│ ├──Day-14
│ │ └──视频
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习1.mkv
│ │ ├──0.2.复习2.mkv
│ │ ├──0.3.复习3.mkv
│ │ ├──0.4.权限列表.mkv
│ │ ├──0.5.展示角色列表数据.mkv
│ │ ├──0.6.角色权限的层级关系.mkv
│ │ ├──0.7.展示数据.mkv
│ │ ├──0.8.页面删除角色权限.mkv
│ │ ├──0.9.删除角色权限.mkv
│ │ ├──1.0.展示分配权限弹窗.mkv
│ │ ├──1.1.展示已拥有权限.mkv
│ │ └──1.2.分配权限.mkv
│ └──Day-15
│ └──视频
│ ├──0.0.反馈.mkv
│ ├──0.1.复习.mkv
│ ├──0.2.添加角色.mkv
│ ├──0.3.删除角色.mkv
│ ├──0.4.修改角色信息.mkv
│ ├──0.5.路由守卫.mkv
│ ├──0.6.左侧菜单权限控制.mkv
│ ├──0.7.项目打包.mkv
│ ├──0.8.路由懒加载.mkv
│ ├──0.9.CDN加速打包.mkv
│ └──1.0.webpack.mkv
├──17.ThinkPHP5框架
│ ├──1-tp
│ │ ├──01_今日目标.mkv
│ │ ├──02_thinkphp5.1框架概述.mkv
│ │ ├──03_什么是composer.mkv
│ │ ├──04_composer工作原理.mkv
│ │ ├──05_配置PHP的环境变量和开启相关PHP扩展.mkv
│ │ ├──06_安装composer命令.mkv
│ │ ├──07_切换composer镜像源.mkv
│ │ ├──08_安装前环境要求检查.mkv
│ │ ├──09_composer下载tp5.1.mkv
│ │ ├──10_apache2.4运行tp5.1框架.mkv
│ │ ├──11_命令行启动tp5.1框架.mkv
│ │ ├──12_目录结构.mkv
│ │ ├──13_开发规范.mkv
│ │ ├──14_thinkphp请求的执行流(生命周期).mkv
│ │ ├──15_tp项目导入到phpstrom中.mkv
│ │ ├──16_隐藏index.php文件.mkv
│ │ ├──17_路由相关的配置说明.mkv
│ │ ├──18_定义路由的说明.mkv
│ │ ├──19_请求类型.mkv
│ │ ├──20_路由参数.mkv
│ │ ├──21_路由分组.mkv
│ │ ├──22_控制器的后缀.mkv
│ │ ├──23_使用命令行创建分组.mkv
│ │ ├──24_创建控制器命令.mkv
│ │ ├──25_开启调试模式.mkv
│ │ ├──26_前置操作.mkv
│ │ ├──27_页面跳转.mkv
│ │ ├──28_今日总结.mkv
│ │ └──29_bootstrap3插件之phpstorm.mkv
│ ├──2-tp
│ │ ├──00_分组问题的反馈.mkv
│ │ ├──01_昨日反馈.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_变量获取.mkv
│ │ ├──04_变量获取2.mkv
│ │ ├──05_变量获取回顾.mkv
│ │ ├──06_参数绑定.mkv
│ │ ├──07_依赖注入.mkv
│ │ ├──08_响应.mkv
│ │ ├──09_模板的定义.mkv
│ │ ├──10_模板渲染和赋值.mkv
│ │ ├──11_模板渲染和赋值小结.mkv
│ │ ├──12_使用函数.mkv
│ │ ├──13_原样输出.mkv
│ │ ├──14_循环标签.mkv
│ │ ├──15_条件判断.mkv
│ │ ├──16_模板继承.mkv
│ │ ├──17_连接数据库.mkv
│ │ ├──18_执行原生sql语句.mkv
│ │ ├──19_添加数据Db.mkv
│ │ ├──20_更新数据.mkv
│ │ ├──21_删除数据.mkv
│ │ ├──22_查询数据.mkv
│ │ ├──23_模型定义与模型设置.mkv
│ │ ├──24_模型添加数据.mkv
│ │ ├──25_模型更新数据.mkv
│ │ ├──26_模型删除.mkv
│ │ ├──27_软删除.mkv
│ │ ├──28_trait使用.mkv
│ │ └──29_今日目标.mkv
│ ├──3-tp
│ │ └──视频
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_查询数据.mkv
│ │ ├──04_获取器.mkv
│ │ ├──05_数据分页.mkv
│ │ ├──06_独立验证.mkv
│ │ ├──07_独立验证之自定义验证器的定义.mkv
│ │ ├──08_验证器验证和csrf验证.mkv
│ │ ├──09_验证码.mkv
│ │ ├──10_cookie操作.mkv
│ │ ├──11_session操作.mkv
│ │ ├──12_闪存的设置与获取.mkv
│ │ ├──13_传统式用户登录检查.mkv
│ │ ├──14_定义中间件.mkv
│ │ ├──15_控制器注册中间件.mkv
│ │ ├──16_自定义路由注册.mkv
│ │ ├──17_配置文件注册中间件.mkv
│ │ ├──18_中间件传值.mkv
│ │ ├──19_后台登录实现.mkv
│ │ └──20_今日总结.mkv
│ └──4-tp
│ └──视频
│ ├──01_昨日回顾.mkv
│ ├──02_今日目标.mkv
│ ├──03_框架使用上传功能说明.mkv
│ ├──04_webuploader上传组件的使用.mkv
│ ├──05_webuploader上传回顾.mkv
│ ├──06_图片删除操作.mkv
│ ├──07_生成缩略图.mkv
│ ├──08_后台权限判断中间件的使用.mkv
│ ├──09_数据表设计.mkv
│ ├──10_数据表的创建.mkv
│ ├──11_模拟数据的添加.mkv
│ ├──12_后台左侧菜单的修改(html).mkv
│ ├──13_资源控制器和路由的定义.mkv
│ ├──14_静态文章列表页显示.mkv
│ ├──15_静态文章添加界面和前端验证.mkv
│ ├──16_富文本编辑器.mkv
│ ├──17_后台验证器.mkv
│ ├──18_数据添加.mkv
│ ├──19_列表页的数据展示.mkv
│ ├──20_模型关联之属于关系.mkv
│ ├──21_一对多和属于关系的说明.mkv
│ ├──22_文章修改.mkv
│ ├──23_文章删除.mkv
│ ├──24_文章删除之vue.mkv
│ └──25_今日总结.mkv
├──18 Restful
│ └──6-Restful
│ └──视频
│ ├──1-vuetify的基本使用.mkv
│ ├──2-vuetify栅格单行单列.mkv
│ ├──3-container的属性.mkv
│ ├──4-响应式布局.mkv
│ ├──5-对齐方式.mkv
│ ├──6-列表显示1.mkv
│ ├──7-上午内容复习.mkv
│ ├──8-列表显示.mkv
│ ├──9-添加页面.mkv
│ ├──10-添加页面数据提交.mkv
│ └──11-修改页面数据.mkv
├──19.ThinkPHP5品优购商城
│ ├──7-shop
│ │ └──视频
│ │ ├──0-昨天复习.mkv
│ │ ├──1-实现加法器.mkv
│ │ ├──2-全局组件.mkv
│ │ ├──3-局部组件.mkv
│ │ ├──4-父到子.mkv
│ │ ├──5-上午复习.mkv
│ │ ├──6-路由.mkv
│ │ ├──7-vue-cli的启动过程.mkv
│ │ ├──8-v-for的案例.mkv
│ │ └──Vue的复习.mkv
│ ├──8-shop
│ │ └──视频
│ │ ├──0-回顾.mkv
│ │ ├──1-tree组件的代码分析.mkv
│ │ ├──2-tree组件的使用.mkv
│ │ ├──3-创建模块和控制器.mkv
│ │ ├──4-tp实现分类列表接口.mkv
│ │ ├──5-接口优化.mkv
│ │ ├──6-跨域原理.mkv
│ │ ├──7-TP实现跨域请求.mkv
│ │ ├──8-上午的复习.mkv
│ │ ├──9-使用vuetify画表格.mkv
│ │ ├──10-页面优化.mkv
│ │ ├──11-加入搜索框.mkv
│ │ ├──12-后台实现接口.mkv
│ │ ├──13-发送请求渲染数据.mkv
│ │ ├──分类列表显示.mkv
│ │ ├──课程介绍.mkv
│ │ └──前端代码架构分析.mkv
│ ├──9-shop
│ │ └──视频
│ │ ├──0-前一天复习.mkv
│ │ ├──1-预告.mkv
│ │ ├──3-对话框显示.mkv
│ │ ├──4-表单制作.mkv
│ │ ├──5-级联框.mkv
│ │ ├──6-前台添加表单提交.mkv
│ │ ├──7-后台接口实现1.mkv
│ │ ├──8-后台接口实现2.mkv
│ │ ├──9-关联关系模型.mkv
│ │ ├──10-关闭窗口.mkv
│ │ ├──11-上传接口.mkv
│ │ ├──12-回显数据.mkv
│ │ ├──13-回显示分类数据.mkv
│ │ └──14-修改接口实现.mkv
│ ├──10-shop
│ │ └──视频
│ │ ├──0-laravel关联关系模型.mkv
│ │ ├──1-简历分析.mkv
│ │ ├──2-数据库设计.mkv
│ │ ├──3-规格显示.mkv
│ │ ├──4-spu和sku表分析.mkv
│ │ ├──5-页面制作.mkv
│ │ ├──6-后台接口实现.mkv
│ │ ├──7-列表显示.mkv
│ │ └──8-商品列表页面.mkv
│ ├──11-shop
│ │ └──视频
│ │ ├──0-预告.mkv
│ │ ├──1-级联框.mkv
│ │ ├──2-品牌下拉框.mkv
│ │ ├──3-.mkv
│ │ ├──4-其它文本框.mkv
│ │ ├──5-富文本编辑器.mkv
│ │ ├──6-规格参数页面渲染.mkv
│ │ ├──7-表与表之间关系分析.mkv
│ │ ├──8-显示前台首页.mkv
│ │ ├──9-注册页面渲染.mkv
│ │ ├──10-短信接口.mkv
│ │ ├──11-发送短信页面实现.mkv
│ │ ├──20181121_101759.mkv
│ │ ├──20181121_102550.mkv
│ │ └──补充-复杂版实现.mkv
│ ├──12-shop
│ │ └──视频
│ │ ├──0-复习.mkv
│ │ ├──1-表单验证.mkv
│ │ ├──2-手机验证码验证.mkv
│ │ ├──3-.mkv
│ │ ├──4-用户登录.mkv
│ │ ├──5-用户登录session.mkv
│ │ ├──6-渲染分类页面.mkv
│ │ ├──7-使用布局改造.mkv
│ │ ├──8-列表页.mkv
│ │ ├──9-列表渲染2.mkv
│ │ ├──10-列表的分页显示.mkv
│ │ └──11-详情页的渲染.mkv
│ ├──13-shop
│ │ └──视频
│ │ ├──0-复习.mkv
│ │ ├──1-cookie和session的原理.mkv
│ │ ├──2-localStorage的介绍与基本使用.mkv
│ │ ├──3-实现加入购物车1.mkv
│ │ ├──4-加入购物车2.mkv
│ │ ├──5-实现购物车列表.mkv
│ │ ├──6-价格计算.mkv
│ │ ├──7-计算总价.mkv
│ │ ├──8-删除一条记录.mkv
│ │ ├──9-选中的计算.mkv
│ │ ├──10-批量删除.mkv
│ │ ├──11-解决一些小bug.mkv
│ │ └──12-支付宝支付.mkv
│ └──14-shop
│ └──视频
│ ├──1-表与表之间的关系.mkv
│ ├──2-多对多表关系分析.mkv
│ ├──3-环境准备.mkv
│ ├──4-不要关联模型实现一对一.mkv
│ ├──5-使用关联模型实现一对一.mkv
│ ├──6-根据关联表查本表.mkv
│ ├──7-N+1问题.mkv
│ ├──8-上午复习.mkv
│ ├──9-关联新增.mkv
│ ├──10-关联更新.mkv
│ ├──11-swoole.mkv
│ ├──12-一对多.mkv
│ └──13-多对多.mkv
├──20 Nginx服务器集群
│ ├──1-nginx
│ │ ├──1判断大型网站的标准.mkv
│ │ ├──2大并发服务器架构.mkv
│ │ ├──3NGINX的介绍.mkv
│ │ ├──4挂载光驱配置yum源.mkv
│ │ ├──5实现本地软件的上传.mkv
│ │ ├──6NGINX的安装启动管理.mkv
│ │ ├──7配置文件讲解.mkv
│ │ ├──8NGINX虚拟主机的配置.mkv
│ │ ├──9日志管理配置日志.mkv
│ │ ├──10日志文件结合定时任务切割案例.mkv
│ │ └──11location语法讲解.mkv
│ └──2-nginx
│ ├──1内容回顾.mkv
│ ├──2定时任务说明.mkv
│ ├──3重新规则.mkv
│ ├──6gizip压缩配置.mkv
│ ├──7rpm安装mysql软件.mkv
│ ├──8安装PHP.mkv
│ ├──9配置PHP.mkv
│ ├──10PHP与nginx的整合.mkv
│ ├──11部署tp框架.mkv
│ ├──12部署dede项目.mkv
│ ├──13负载均衡的配置.mkv
│ ├──14window下安装nginx.mkv
│ ├──302与301重定向.mkv
│ ├──重写规则break与last的区别.mkv
│ └──EV~2018.11.28~17.23.49.mkv
├──21.Memcache缓存设计
│ └──3-memcache
│ ├──1memache的介绍.mkv
│ ├──2在window下面安装memache.mkv
│ ├──3telnet链接memcache服务器.mkv
│ ├──4添加和修改操作.mkv
│ ├──5设置删除状态指令操作.mkv
│ ├──6失效时间说明.mkv
│ ├──7安装php扩展.mkv
│ ├──8PHP数据类型存储memcache.mkv
│ ├──9memcache应用案例.mkv
│ ├──10memcache在TP5中使用.mkv
│ ├──11memcache分布式存储.mkv
│ ├──12session数据入memcache.mkv
│ ├──13memcache注意的其他问题.mkv
│ └──14linux下安装memcache软件.mkv
├──22.Redis
│ ├──4-redis
│ │ └──1201
│ │ ├──1内容回顾.mkv
│ │ ├──2nosql简介.mkv
│ │ ├──3Redis介绍.mkv
│ │ ├──4Redis软件linux下安装.mkv
│ │ ├──5redis启动管理.mkv
│ │ ├──6window安装redis.mkv
│ │ ├──7字符串的操作.mkv
│ │ ├──8哈希类型的操作.mkv
│ │ ├──9链表类型操作.mkv
│ │ ├──9链表类型操作2.mkv
│ │ ├──11Redis常用基本指令.mkv
│ │ ├──12安全认证设置密码.mkv
│ │ ├──13window下安装php对应的redis扩展.mkv
│ │ ├──14PHP操作Redis基本操作.mkv
│ │ ├──15记住密码错误次数案例.mkv
│ │ ├──16Redis在TP5中的使用.mkv
│ │ ├──17持久化方式-快照.mkv
│ │ ├──18持久化方式-aof.mkv
│ │ ├──19linux下安装PHP的Redis扩展.mkv
│ │ └──20外网Redis客户端访问限制.mkv
│ └──5-redis
│ └──1203
│ ├──1数据类型集合操作.mkv
│ ├──2数据类型有序集合.mkv
│ ├──3redis中主从复制.mkv
│ ├──4Redis中的事务.mkv
│ ├──5秒杀抢购案例.mkv
│ ├──6综合案例-用户注册.mkv
│ ├──7综合案例-列表页面.mkv
│ ├──8综合案例-修改数据.mkv
│ ├──9综合案例-删除用户.mkv
│ ├──10综合案例-添加关注.mkv
│ ├──11队列说明.mkv
│ └──内容回顾.mkv
├──23.MongoDB
│ └──6-mongodb
│ └──1204
│ └──视频
│ ├──1mongodb简介.mkv
│ ├──2mongodb的几个概念.mkv
│ ├──3mongodb安装.mkv
│ ├──4mongodb压缩包方式安装.mkv
│ ├──5MongoDB入门语句.mkv
│ ├──6添加文档.mkv
│ ├──7删除文档.mkv
│ ├──8修改文档.mkv
│ ├──9查询文档.mkv
│ ├──10mongodb中的管理员权限控制.mkv
│ ├──11mongodb中的索引.mkv
│ ├──12mongodb数据的导出导入.mkv
│ ├──13mongodb的主从复制.mkv
│ ├──14PHP操作mongodb.mkv
│ ├──15linux下安装mongodb.mkv
│ ├──内容回顾-队列使用.mkv
│ └──EV~2018.12.04~17.08.10.mkv
├──24.网站优化
│ ├──7-mysql优化一
│ │ └──1206
│ │ ├──1mysql优化概述.mkv
│ │ ├──2innodb存储引擎.mkv
│ │ ├──3myisam存储引擎.mkv
│ │ ├──4memory存储引擎.mkv
│ │ ├──5慢查询日志的说明.mkv
│ │ ├──6profile机制精确记录查询时间.mkv
│ │ ├──7mysql中索引.mkv
│ │ ├──8执行计划分析sql语句的执行情况.mkv
│ │ ├──9索引的数据结构.mkv
│ │ ├──10索引覆盖.mkv
│ │ ├──11索引的使用原则.mkv
│ │ ├──12mysql中锁机制.mkv
│ │ └──PHP文件演示锁机制.mkv
│ ├──8-mysql优化二
│ │ └──1207
│ │ ├──1查询缓存的使用.mkv
│ │ ├──2创建分区.mkv
│ │ ├──3分区管理.mkv
│ │ ├──4分表技术.mkv
│ │ ├──5数据碎片与维护.mkv
│ │ ├──6表的范式讲解.mkv
│ │ ├──7mysql中的视图.mkv
│ │ ├──8MySQL中的视图(二).mkv
│ │ ├──9SQL编程if判断.mkv
│ │ ├──10SQL编程循环操作.mkv
│ │ ├──11存储过程讲解.mkv
│ │ └──内容回顾.mkv
│ └──9-mysql优化三
│ └──1209
│ ├──1存储过程补充.mkv
│ ├──2自定义函数.mkv
│ ├──3mysql中系统函数用法一.mkv
│ ├──4mysql中系统函数用法二.mkv
│ ├──5触发器简介.mkv
│ ├──6触发器讲解.mkv
│ ├──7事务操作.mkv
│ ├──8读写分离介绍.mkv
│ ├──9MySQL授权账号.mkv
│ ├──10MySQL 中log-bin日志操作.mkv
│ ├──11配置主从服务器.mkv
│ ├──12TP框架中读写分离实现.mkv
│ ├──内容回顾.mkv
│ └──EV~2018.12.09~12.01.35.mkv
├──25.-sphinx+页面静态化
│ └──10-sphinx+页面静态化
│ └──1210
│ ├──1回顾.mkv
│ ├──2sphinx简介与原理.mkv
│ ├──3sphinx的安装.mkv
│ ├──4使用sphinx创建索引.mkv
│ ├──5安装启动sphinx的服务.mkv
│ ├──6查询关键词到sphinx服务器代码演示.mkv
│ ├──7查询关键词标注.mkv
│ ├──8sphinx的匹配模式.mkv
│ ├──9增量索引的创建.mkv
│ ├──10网页静态化的概述.mkv
│ ├──11ob缓存的讲解.mkv
│ ├──12真静态案例.mkv
│ ├──13伪静态介绍.mkv
│ ├──14伪静态案例.mkv
│ └──15防盗链案例.mkv
├──26.laravel框架
│ ├──day01
│ │ └──视频
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_laravel简介.mkv
│ │ ├──04_运行laravel服务器要求.mkv
│ │ ├──05_composer部署安装laravel框架.mkv
│ │ ├──06_让phpstrom更友好的支持laravel.mkv
│ │ ├──07_目录结构.mkv
│ │ ├──08_目录结构-小结.mkv
│ │ ├──09_命令行运行laravel框架.mkv
│ │ ├──10_apache设置虚拟主机运行laravel.mkv
│ │ ├──11_laravel处理csrf验证.mkv
│ │ ├──12_排除指定路由中不进行csrf验证.mkv
│ │ ├──13_laravel概述与路由配置文件.mkv
│ │ ├──14_4种基础路由的定义.mkv
│ │ ├──15_其它路由的定义.mkv
│ │ ├──16_路由参数.mkv
│ │ ├──17_路由别名.mkv
│ │ ├──18_路由分组之路由前缀.mkv
│ │ ├──19_查看定义好的路由.mkv
│ │ ├──20_命令创建控制器.mkv
│ │ ├──21_分目录创建控制器.mkv
│ │ ├──22_定义路由控制器.mkv
│ │ ├──23_Input类来获取数据.mkv
│ │ ├──24_Request类来获取数据1.mkv
│ │ ├──25_Request类来获取数据2.mkv
│ │ ├──26_辅助函数获取数据.mkv
│ │ ├──27_设置与获取cookie.mkv
│ │ ├──28_重定向.mkv
│ │ ├──29_返回json数据.mkv
│ │ ├──30_view函数就指定视图模板并进行视图分目录.mkv
│ │ ├──31_分配数据到模板并在模板中取出.mkv
│ │ ├──32_三元运算和未转义输出.mkv
│ │ ├──33_原始形态的输出.mkv
│ │ ├──34_使用函数.mkv
│ │ ├──35_条件语句.mkv
│ │ ├──36_循环的使用.mkv
│ │ ├──37_模板包含.mkv
│ │ ├──38_模板继承.mkv
│ │ └──39_今日总结.mkv
│ ├──day02
│ │ └──视频
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_表单验证说明和规则介绍.mkv
│ │ ├──04_添加用户界面展示.mkv
│ │ ├──05_this - validate去验证表单.mkv
│ │ ├──06_独立验证方式.mkv
│ │ ├──07_验证器方式验证.mkv
│ │ ├──08_表单验证小结.mkv
│ │ ├──09_验证规则切换为中文.mkv
│ │ ├──10_laravel操作数据库开启pdo扩展.mkv
│ │ ├──11_数据配置.mkv
│ │ ├──12_检查数据库的配置是否正确.mkv
│ │ ├──13_DB操作原生sql之添加.mkv
│ │ ├──14_DB操作原生sql之修改.mkv
│ │ ├──15_DB操作原生sql之查询.mkv
│ │ ├──16_DB操作原生sql之删除.mkv
│ │ ├──17_DB操作原生sql方法.mkv
│ │ ├──18_DB构建器之获取多条记录.mkv
│ │ ├──19_laravel-debugbar调试工具的安装.mkv
│ │ ├──20_DB构建器之获取单条记录.mkv
│ │ ├──21_DB构建器之回顾.mkv
│ │ ├──22_DB构造器之添加.mkv
│ │ ├──23_DB构造器之修改和删除.mkv
│ │ ├──24_创建迁移文件.mkv
│ │ ├──25_编写迁移文件.mkv
│ │ └──26_执行迁移文件.mkv
│ ├──day03
│ │ └──视频
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_模型文件的位置和创建模型和迁移.mkv
│ │ ├──04_模型的限制.mkv
│ │ ├──05_模型操作之添加数据.mkv
│ │ ├──06_模型操作之查询数据.mkv
│ │ ├──07_模型操作之修改数据.mkv
│ │ ├──08_模型操作之删除数据真删除.mkv
│ │ ├──09_模型操作之删除数据软删除.mkv
│ │ ├──10_faker添加模拟数据.mkv
│ │ ├──11_使用faker加数据工厂来添加数据.mkv
│ │ ├──12_faker本地化操作.mkv
│ │ ├──13_模型事件.mkv
│ │ ├──14_文章列表页分页的显示.mkv
│ │ ├──15_文章列表页分页参数问题解决和搜索功能.mkv
│ │ ├──16_数据分页.mkv
│ │ ├──17_laravel中session相关配置.mkv
│ │ ├──18_session相关方法说明.mkv
│ │ ├──19_session方法相关操作.mkv
│ │ ├──20_中间件概述.mkv
│ │ ├──21_定义中间件.mkv
│ │ ├──22_注册中间件方案.mkv
│ │ ├──23_项目初始化.mkv
│ │ ├──24_创建控制器和配置数据库连接.mkv
│ │ ├──25_用户迁移文件的创建和执行.mkv
│ │ ├──26_创建用户数据工厂.mkv
│ │ ├──27_模拟数据填充.mkv
│ │ ├──28_后台静态资源的引入.mkv
│ │ ├──29_后台界面的静态展示.mkv
│ │ ├──30_静态页提交地址的更换和验证器的编写.mkv
│ │ ├──31_把验证信息显示到模板页中.mkv
│ │ ├──32_模型中实现登录操作.mkv
│ │ └──33_今日总结.mkv
│ ├──day04
│ │ └──视频
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_验证码的安装.mkv
│ │ ├──04_验证码的配置.mkv
│ │ ├──05_模板中的调用.mkv
│ │ ├──06_点击更换验证码.mkv
│ │ ├──07_验证码验证中文提示.mkv
│ │ ├──08_验证码验证中文提示方案2.mkv
│ │ ├──09_验证码和登录完成.mkv
│ │ ├──10_laravel缓存的相关的设置.mkv
│ │ ├──11_缓存Cache类的介绍.mkv
│ │ ├──12_phpstorm中支持artisan命令.mkv
│ │ ├──13_laravel缓存的设置.mkv
│ │ ├──14_缓存设置到redis中.mkv
│ │ ├──15_文件上传.mkv
│ │ ├──16_iframe实现无刷新上传文件.mkv
│ │ ├──17_修改php.ini文件支持大文件上传.mkv
│ │ ├──18_auth实现后台的登录.mkv
│ │ ├──19_auth来实现登录.mkv
│ │ ├──20_一对一实现.mkv
│ │ ├──21_一对一实现2.mkv
│ │ ├──22_关系方法的简写.mkv
│ │ ├──23_一对多关系.mkv
│ │ ├──24_多对多关系.mkv
│ │ ├──25_小P学堂项目初始化.mkv
│ │ ├──26_rbac表设计.mkv
│ │ ├──27_迁移文件的创建和模型修改.mkv
│ │ ├──28_登录界面的展示.mkv
│ │ ├──29_用户的auth.mkv
│ │ └──30_今日总结.mkv
│ └──day05
│ └──视频
│ ├──01_昨日回顾.mkv
│ ├──02_今日目标.mkv
│ ├──03_创建后台欢迎控制器.mkv
│ ├──04_后台主页和欢迎页的展示.mkv
│ ├──05_自定义函数定义和使用.mkv
│ ├──06_登录成功跳转并带有闪存数据.mkv
│ ├──07_创建中间件并编写用户是否登录的代码.mkv
│ ├──08_使用中间件防用户翻墙.mkv
│ ├──09_用户已登录跳转到后台首页.mkv
│ ├──10_用户退出.mkv
│ ├──11_管理管理界面的展示.mkv
│ ├──12_定义管理员列表路由.mkv
│ ├──13_定义管理员列表路由对应的控制器方法.mkv
│ ├──14_模板继承和管理员列表展示.mkv
│ ├──15_datatable了解使用和客户端分页.mkv
│ ├──16_datatables服务器端分页.mkv
│ ├──17_用户列表字段的显示处理.mkv
│ ├──18_搜索的完成.mkv
│ ├──19_搜索方法的优化.mkv
│ ├──20_datatables使用回顾.mkv
│ ├──21_datatables点击排序.mkv
│ ├──22_用户删除操作.mkv
│ ├──23_资源路由和资源控制器的创建.mkv
│ ├──24_权限列表的展示.mkv
│ ├──25_角色列表.mkv
│ ├──26_创建权限与角色中间表.mkv
│ ├──27_权限列表.mkv
│ ├──28_权限表修改.mkv
│ ├──29_权限的添加界面和迁移文件修改.mkv
│ ├──30_添加的权限操作.mkv
│ ├──31_给角色分配权限.mkv
│ ├──32_给用户分配权限.mkv
│ └──33_今日总结.mkv
├──27.公众号开发
│ ├──Day-1
│ │ └──day01
│ │ ├──01_今日目标.mkv
│ │ ├──02_微信发展史.mkv
│ │ ├──03_微信与微信公众平台的区别及作用.mkv
│ │ ├──04_三者相关的区别说明.mkv
│ │ ├──05_注册公众平台.mkv
│ │ ├──06_登录公众平台.mkv
│ │ ├──07_开发者模式说明介绍.mkv
│ │ ├──08_编辑模式-被关注时回复-关键词回复.mkv
│ │ ├──09_开发模式之外网服务器准备文案1.mkv
│ │ ├──10_内容穿透简介.mkv
│ │ ├──11_注册与实名认证及购买免费隧道.mkv
│ │ ├──12_natapp软件配置.mkv
│ │ ├──13_配置apache多端口虚拟主机.mkv
│ │ ├──14_运行natapp.mkv
│ │ ├──15_开启开发模式和接入的原理图.mkv
│ │ ├──16_代码接入公众平台.mkv
│ │ ├──17_测试平台的接入.mkv
│ │ ├──18_接收消息所用到的知识点.mkv
│ │ ├──19_微信6大接收接口写入日志.mkv
│ │ ├──20_被动回复消息介绍.mkv
│ │ ├──21_回复文本消息.mkv
│ │ ├──22_回复文本消息-代码改进版本.mkv
│ │ ├──23_回复图片消息.mkv
│ │ ├──24_回复音乐.mkv
│ │ └──25_今日总结.mkv
│ ├──Day-2_公众号开发
│ │ ├──01_代码分析.mkv
│ │ ├──02_昨日回顾.mkv
│ │ ├──03_今日目标.mkv
│ │ ├──04_php发起网络请求1.mkv
│ │ ├──05_curl发起get请求.mkv
│ │ ├──06_curl发起post请求.mkv
│ │ ├──07_curl发起文件上传.mkv
│ │ ├──08_curl总结回顾.mkv
│ │ ├──09_curl封装总结.mkv
│ │ ├──10_获取access_token.mkv
│ │ ├──11_accesstoken缓存到memcache中.mkv
│ │ ├──12_自定义菜单的概述.mkv
│ │ ├──13_创建自定义菜单.mkv
│ │ ├──13_创建自定义菜单.wmv.fiq
│ │ ├──14_删除自定义菜单.mkv
│ │ ├──15_点击事件的处理.mkv
│ │ ├──16_自定我菜单事件推送.mkv
│ │ ├──17_公众号素材的介绍.mkv
│ │ ├──18_新增临时与永久素材的说明.mkv
│ │ ├──19_表单上传图片.mkv
│ │ ├──20_上传昨时素材.mkv
│ │ ├──21_上传永久素材.mkv
│ │ ├──22_上传临时与永久素材.mkv
│ │ ├──23_发送客服消息.mkv
│ │ └──24_今日总结.mkv
│ └──Day-3_公众号开发
│ ├──00_git图形工具的使用.mkv
│ ├──01_作业代码讲解.mkv
│ ├──02_反馈说明.mkv
│ ├──03_昨日回顾.mkv
│ ├──04_今日目标.mkv
│ ├──05_场景二维码概述.mkv
│ ├──06_生成场景二维码api介绍.mkv
│ ├──07_生成临时和永久二维码.mkv
│ ├──08_三级分销表设计.mkv
│ ├──09_三级分销.mkv
│ ├──10_语音识别.mkv
│ ├──11_开启微信的LBS.mkv
│ ├──12_存储位置入库.mkv
│ ├──13_高德地图开放平台的注册与登录.mkv
│ ├──14_整合到了公众平台提供周边搜索服务.mkv
│ ├──15_LBS服务小结.mkv
│ ├──16_网页授权概述.mkv
│ ├──17_设置微信授权域名和网页开发工具.mkv
│ ├──18_获取code值.mkv
│ ├──19_得到openid.mkv
│ ├──20_拉取用户信息.mkv
│ ├──21_网页授权小结.mkv
│ ├──22_jssdk的概述.mkv
│ ├──23_公众号后台绑定授权域名.mkv
│ ├──24_引入js类库文件.mkv
│ ├──25_jsapi_ticket获取.mkv
│ ├──26_生成签名.mkv
│ ├──27_通过config接口注入权限验证.mkv
│ ├──28_通过ready接口处理成功验证.mkv
│ ├──29_通过ready接口处理成功验证2.mkv
│ └──30_今日总结.mkv
├──28.小程序(laravel教育系统)
│ ├──Day-4_小程序
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_用中间件进行权限的限制.mkv
│ │ ├──04_用中间件进行权限的限制-小结.mkv
│ │ ├──05_什么是小程序和如何理解小程序.mkv
│ │ ├──06_如果理解小程序和与传统APP的区别.mkv
│ │ ├──07_小程序的框架结构.mkv
│ │ ├──08_小程序账号的申请与登录设置.mkv
│ │ ├──10_小程序开发工具的介绍.mkv
│ │ ├──11_helloworld创建.mkv
│ │ ├──12_小程序的文件结构.mkv
│ │ ├──13_app.json之pages选项.mkv
│ │ ├──14_app.json之window选项.mkv
│ │ ├──15_app.json之tabBar选项.mkv
│ │ ├──16_app.json之网络超时设置和开启debug.mkv
│ │ ├──17_生命周期.mkv
│ │ ├──18_数据的绑定.mkv
│ │ ├──19_列表渲染.mkv
│ │ ├──20_条件判断.mkv
│ │ ├──21_模板.mkv
│ │ ├──22_引用.mkv
│ │ ├──23_wxss样式选择器.mkv
│ │ ├──24_尺寸单位和全局与局部样式.mkv
│ │ ├──25_样式导入.mkv
│ │ ├──26_flex介绍.mkv
│ │ ├──27_容器的属性.mkv
│ │ ├──28_flex的实例.mkv
│ │ ├──29_小程序之商城初始化.mkv
│ │ ├──30_商城的顶部扫完.mkv
│ │ ├──31_banner图片和导航图标.mkv
│ │ ├──32_商城页面排版.mkv
│ │ └──33_今日总结.mkv
│ ├──Day-5_小程序
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日目标.mkv
│ │ ├──03_什么事件.mkv
│ │ ├──04_事件的分类和事件绑定.mkv
│ │ ├──05_冒泡和非冒泡事件操作.mkv
│ │ ├──06_点击一段时间更换一个颜色.mkv
│ │ ├──07_事件对象和用事件对象来传参.mkv
│ │ ├──08_属性值类型.mkv
│ │ ├──09_属性值类型2.mkv
│ │ ├──10_共同属性类型.mkv
│ │ ├──11_tab切换制作.mkv
│ │ ├──12_view组件的使用.mkv
│ │ ├──13_swiper组件介绍.mkv
│ │ ├──14_swiper组件介绍2.mkv
│ │ ├──15_scroll-view组件.mkv
│ │ ├──16_scroll-view组件之回到顶部.mkv
│ │ ├──17_scroll-view之加载更多.mkv
│ │ ├──18_富文本显示.mkv
│ │ ├──19_按钮之分享功能.mkv
│ │ ├──20_按钮之在线客服功能.mkv
│ │ ├──21_input搜索.mkv
│ │ ├──22_form使用.mkv
│ │ ├──23_导航组件.mkv
│ │ ├──24_video标签.mkv
│ │ ├──25_自定义组件.mkv
│ │ ├──26_wxs模块使用.mkv
│ │ └──27_今日总结.mkv
│ ├──Day-6_小程序
│ │ ├──01_昨日回顾.mkv
│ │ ├──02_今日总结.mkv
│ │ ├──03_申明一个es6的类.mkv
│ │ ├──04_发起https请求api介绍.mkv
│ │ ├──05_app.json文件中设置超时时间.mkv
│ │ ├──06_发起一个有效的网络请求.mkv
│ │ ├──07_laravel编写接口1.mkv
│ │ ├──08_laravel编写接口2.mkv
│ │ ├──09_小程序中用户列表的展示.mkv
│ │ ├──10_请求方法的封装之模块化.mkv
│ │ ├──11_使用promise进行请求的再次封坟.mkv
│ │ ├──12_Http类的引入.mkv
│ │ ├──13_使用模型和全局配置文件.mkv
│ │ ├──14_加载更多.mkv
│ │ ├──15_加载更多的回顾.mkv
│ │ ├──16_缓存api介绍.mkv
│ │ ├──17_数据数据操作.mkv
│ │ ├──18_自定义缓存类.mkv
│ │ ├──19_自定义缓存设置回顾.mkv
│ │ ├──20_用户交互.mkv
│ │ ├──21_加载框.mkv
│ │ ├──22_提示框.mkv
│ │ ├──23_确认框.mkv
│ │ ├──24_小p之app.json文件配置.mkv
│ │ ├──25_PHP页面的静态列表页.mkv
│ │ ├──26_在线教育表设计.mkv
│ │ ├──27_数据表设计.mkv
│ │ ├──28_模拟分类数据.mkv
│ │ ├──29_课程管理之课程列表和添加.mkv
│ │ ├──30_课程管理回顾.mkv
│ │ └──31_今日总结.mkv
│ └──Day-7_小程序
│ ├──01_昨日回顾.mkv
│ ├──02_今日目标.mkv
│ ├──03_文件上传功代码重写课时管理路由和权限的添加.mkv
│ ├──04_课时列表和课时的添加.mkv
│ ├──05_点击课时名称弹出h5播放mp4视频文件.mkv
│ ├──06_课时管理回顾.mkv
│ ├──07_编写接口的文档.mkv
│ ├──08_接口输出make-resource.mkv
│ ├──09_接口的跨域.mkv
│ ├──10_课程列表接口回顾.mkv
│ ├──11_jwt的介绍.mkv
│ ├──12_课时列表接口编写.mkv
│ ├──13_接口异常的处理.mkv
│ ├──14_编写请求类Http.js
│ ├──14_小程序之课程列表的获取.mkv
│ ├──15_小程序之课程列表回顾.mkv
│ ├──16_请求添加用户交互.mkv
│ ├──17_缓存功能.mkv
│ ├──18_使用wxs来过滤标题.mkv
│ ├──19_自定义编译场景.mkv
│ └──20_课时列表页.mkv
├──29.-react前后端分离(电影项目)
│ ├──day-01
│ │ ├──0.1.raect简介.mkv
│ │ ├──0.2.项目安装与启动.mkv
│ │ ├──0.3.react基本使用1.mkv
│ │ ├──0.4.jsx语法简介.mkv
│ │ ├──0.5.jsx语法基础.mkv
│ │ ├──0.6.jsx数组遍历.mkv
│ │ ├──0.7.JSX语法总结.mkv
│ │ ├──0.8.构造函数及组件.mkv
│ │ ├──0.9.构造函数模块化组件.mkv
│ │ ├──1.0.class基本语法.mkv
│ │ ├──1.1.变量提升.mkv
│ │ ├──1.2.原型链继承.mkv
│ │ ├──1.3.冒充继承.mkv
│ │ ├──1.4.类的继承.mkv
│ │ ├──1.5.类组件.mkv
│ │ ├──1.6.props值.mkv
│ │ ├──1.7.props与state.mkv
│ │ ├──1.8.评论列表案例.mkv
│ │ └──1.9.模块与组件化.mkv
│ ├──day-02
│ │ ├──0.0.反馈.mkv
│ │ ├──0.1.复习.mkv
│ │ ├──0.2.css样式的写法.mkv
│ │ ├──0.3.评论样式.mkv
│ │ ├──0.4.引入bootstrap.mkv
│ │ ├──0.5.事件的绑定.mkv
│ │ ├──0.6.事件对象.mkv
│ │ ├──0.7.事件中this的指向.mkv
│ │ ├──0.8.单向数据绑定.mkv
│ │ ├──0.9.双向数据绑定.mkv
│ │ ├──1.0.ref操作DOM.mkv
│ │ ├──1.1.生命周期.mkv
│ │ ├──1.2.钩子函数的使用.mkv
│ │ ├──1.3.组件间的数据传递-父传子.mkv
│ │ └──1.4.子级组件向父级组件传值.mkv
│ └──day-03
│ ├──0.0.介绍.mkv
│ ├──0.1.安装PHP.mkv
│ ├──0.2.安装swoole.mkv
│ ├──0.3.swoole搭建HTTP服务器.mkv
│ ├──0.4.swoole的事件机制及请求响应处理.mkv
│ ├──0.5.实现文件上传.mkv
│ ├──0.6.websocket服务器.mkv
│ ├──0.7.客户端.mkv
│ └──0.8.聊天室.mkv
└──教程目录及说明.TXT

相关下载

点击下载

参与评论