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

黑马PHP+H5全栈开发项目实战 IT教程 第1张

00_预科班
01_HTML5
02_CSS3
03_javaScript
04 品优购商城项目实战
05 PHP核心编程
06. 基于PHP7+MVC博客系统设计
07. JavaScript基础
08. Web API(BOM.DOM.事件.特效)
09. JavaScript高级(面向对象.闭包.原型链.正则)
10.精通Ajax
11.jQuery与插件开发实战
12.LINUX系统
13.GIT
14.nodejs
15.VueJS品优购前后端分离
16.VUE项目
17.ThinkPHP5框架
18 Restful
19.ThinkPHP5品优购商城
20 Nginx服务器集群
21.Memcache缓存设计
22.Redis
23.MongoDB
24.网站优化
25.-sphinx+页面静态化
26.laravel框架
27.公众号开发
28.小程序(laravel教育系统)
29.-react前后端分离(电影项目)

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

├教程目录及说明.TXT
├<00_预科班>
│ ├<0.1HTML-预科班>
│ │ ├<视频>
│ │ │ ├10--上午回顾.mkv
│ │ │ ├11--练习.mkv
│ │ │ ├12--有序列表.mkv
│ │ │ ├13--有序列表.mkv
│ │ │ ├14--无序列表.mkv
│ │ │ ├15--图片标签.mkv
│ │ │ ├16--链接.mkv
│ │ │ ├17--课程回顾.mkv
│ │ │ ├1--基础了解.mkv
│ │ │ ├2--HTML引入.mkv
│ │ │ ├3--标记介绍.mkv
│ │ │ ├4--编辑器应用.mkv
│ │ │ ├5--主体标签.mkv
│ │ │ ├6--文本标签.mkv
│ │ │ ├7--标签嵌套.mkv
│ │ │ ├8--排版标签(1).mkv
│ │ │ └9--排版标签(2).mkv
│ ├<0.2CSS-预科班>
│ │ ├<视频>
│ │ │ ├10--伪类选择器.mkv
│ │ │ ├11--课程回顾.mkv
│ │ │ ├12--分组选择器.mkv
│ │ │ ├13--后代选择器.mkv
│ │ │ ├14--子代选择器.mkv
│ │ │ ├15--元素包含.mkv
│ │ │ ├16--选择器优先级.mkv
│ │ │ ├17--宽高和元素转换.mkv
│ │ │ ├18--字体.mkv
│ │ │ ├19--文本.mkv
│ │ │ ├1--课程回顾.mkv
│ │ │ ├20--练习和回顾.mkv
│ │ │ ├2--作业讲解.mkv
│ │ │ ├3--HTML通用属性.mkv
│ │ │ ├4--标签关系.mkv
│ │ │ ├5--CSS介绍.mkv
│ │ │ ├6--CSS引入.mkv
│ │ │ ├7--基本选择器(1).mkv
│ │ │ ├8--类选择器.mkv
│ │ │ └9--id选择器.mkv
│ ├<0.3JavaScript1-预科班>
│ │ ├<视频>
│ │ │ ├10--数据类型.mkv
│ │ │ ├11--运算符(1).mkv
│ │ │ ├12--运算符(2).mkv
│ │ │ ├13--运算符(3).mkv
│ │ │ ├14--运算符(4).mkv
│ │ │ ├15--运算符(5).mkv
│ │ │ ├16--运算符优先级.mkv
│ │ │ ├17--if语句.mkv
│ │ │ ├1--课程回顾.mkv
│ │ │ ├2--作业讲解.mkv
│ │ │ ├3--JavaScript引入.mkv
│ │ │ ├4--JavaScript引入.mkv
│ │ │ ├5--javasript输出.mkv
│ │ │ ├6--javascript语法规则.mkv
│ │ │ ├7--变量.mkv
│ │ │ ├8--变量名.mkv
│ │ │ └9--上午回顾.mkv
│ ├<0.4JavaScript2-预科班>
│ │ ├<视频>
│ │ │ ├10--for循环练习.mkv
│ │ │ ├11--九九乘法表.mkv
│ │ │ ├12--函数引入.mkv
│ │ │ ├13--函数.mkv
│ │ │ ├14--课程回顾.mkv
│ │ │ ├1--课程回顾.mkv
│ │ │ ├2--作业讲解.mkv
│ │ │ ├3--分支结构.mkv
│ │ │ ├4--while循环.mkv
│ │ │ ├5--while练习.mkv
│ │ │ ├6--上午回顾.mkv
│ │ │ ├7--while练习.mkv
│ │ │ ├8--while练习.mkv
│ │ │ └9--for循环.mkv
├<01_HTML5>
│ ├<day1-HTML>
│ │ ├<视频>
│ │ │ ├10--文本标签.mkv
│ │ │ ├11--课程回顾.mkv
│ │ │ ├12--练习.mkv
│ │ │ ├13--无序列表.mkv
│ │ │ ├14--无序列表练习.mkv
│ │ │ ├15--有序列表.mkv
│ │ │ ├16--定义列表.mkv
│ │ │ ├16--图片标签.mkv
│ │ │ ├17--图片标签,路径.mkv
│ │ │ ├18--路径.mkv
│ │ │ ├19--回顾.mkv
│ │ │ ├1--计算机了解.mkv
│ │ │ ├2--编辑器.mkv
│ │ │ ├3--网页原理.mkv
│ │ │ ├4--HTML介绍avi.mkv
│ │ │ ├5--W3C介绍.mkv
│ │ │ ├6--标签认识.mkv
│ │ │ ├7--HTML标签认识.mkv
│ │ │ ├8--排版标签(1).mkv
│ │ │ └9--排版标签(2).mkv
│ ├<day2-HTML>
│ │ ├<视频>
│ │ │ ├10--表格练习.mkv
│ │ │ ├11-- 表单.mkv
│ │ │ ├12--文本框.mkv
│ │ │ ├13--密码框.mkv
│ │ │ ├14--表单项.mkv
│ │ │ ├15--表单项.mkv
│ │ │ ├16--课程回顾.mkv
│ │ │ ├1--链接标签.mkv
│ │ │ ├2--链接标签.mkv
│ │ │ ├3--链接标签.mkv
│ │ │ ├4--link和图片练习8.mkv
│ │ │ ├5--表格.mkv
│ │ │ ├6--表格.mkv
│ │ │ ├7--表格练习.mkv
│ │ │ ├8--课程回顾.mkv
│ │ │ └9--表格.mkv
├<02_CSS3>
│ ├<day1-CSS>
│ │ ├<视频>
│ │ │ ├10--上午回顾.mkv
│ │ │ ├11--字符实体,文档类型.mkv
│ │ │ ├12--浮动框架.mkv
│ │ │ ├13--知识点整理.mkv
│ │ │ ├14--CSS介绍.mkv
│ │ │ ├15--CSS引入.mkv
│ │ │ ├16--CSS核心语法.mkv
│ │ │ ├17--通配符选择器.mkv
│ │ │ ├18--标签选择器.mkv
│ │ │ ├19--类选择器.mkv
│ │ │ ├1--课程回顾.mkv
│ │ │ ├20--id选择器.mkv
│ │ │ ├21--属性.mkv
│ │ │ ├22--练习.mkv
│ │ │ ├23--课程回顾.mkv
│ │ │ ├2--语义化标签.mkv
│ │ │ ├2--作业讲解.mkv
│ │ │ ├3--HTML5介绍.mkv
│ │ │ ├4--视频标签.mkv
│ │ │ ├5--媒体标签.mkv
│ │ │ ├6--其他标签.mkv
│ │ │ ├7--新增type的值.mkv
│ │ │ ├8--新增属性.mkv
│ │ │ └9--字符编码.mkv
│ ├<day2-CSS>
│ │ ├<视频>
│ │ │ ├10--上午回顾.mkv
│ │ │ ├11--伪类选择器.mkv
│ │ │ ├12--练习.mkv
│ │ │ ├13--伪类选择器.mkv
│ │ │ ├14--伪元素.mkv
│ │ │ ├15--伪元素.mkv
│ │ │ ├16--伪元素.mkv
│ │ │ ├17--其他组合选择器.mkv
│ │ │ ├18--继承性.mkv
│ │ │ ├19--优先级.mkv
│ │ │ ├1--课程回顾.mkv
│ │ │ ├20--层叠性.mkv
│ │ │ ├22--课程回顾.mkv
│ │ │ ├2--作业讲解.mkv
│ │ │ ├3--作业讲解2.mkv
│ │ │ ├4--颜色.mkv
│ │ │ ├5--子代选择器.mkv
│ │ │ ├6--后代选择器.mkv
│ │ │ ├7--分组选择器.mkv
│ │ │ ├8--属性选择器.mkv
│ │ │ └9--伪类选择器.mkv
│ ├<day3-CSS>
│ │ ├<视频>
│ │ │ ├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
│ │ │ ├1--课程回顾.mkv
│ │ │ ├20--课程回顾.mkv
│ │ │ ├2--作业讲解.mkv
│ │ │ ├3--盒子初步.mkv
│ │ │ ├4--宽高.mkv
│ │ │ ├5--边框.mkv
│ │ │ ├6--内边距.mkv
│ │ │ ├7--外边距.mkv
│ │ │ ├8--margin外边距.mkv
│ │ │ └9--盒子宽度计算.mkv
│ ├<day4-CSS>
│ │ ├<视频>
│ │ │ ├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
│ │ │ ├1--课程回顾.mkv
│ │ │ ├2--作业讲解(1).mkv
│ │ │ ├3--作业讲解(2).mkv
│ │ │ ├4--溢出.mkv
│ │ │ ├5--可见性.mkv
│ │ │ ├6--浮动.mkv
│ │ │ ├7--清除浮动.mkv
│ │ │ ├8--布局思想.mkv
│ │ │ └9--浮动练习.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->
│ │ ├<视频>
│ │ │ ├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
│ │ │ └1昨日回顾.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 品优购商城项目实战>
│ ├<day01前端项目>
│ │ ├<视频>
│ │ │ ├01昨日反馈.mkv
│ │ │ ├02css整体复习.mkv
│ │ │ ├03布局思想.mkv
│ │ │ ├04品优购整体布局,顶部广告制作.mkv
│ │ │ ├05主导航的实现.mkv
│ │ │ ├06上午回顾.mkv
│ │ │ ├07第二个导航条.mkv
│ │ │ ├08主体1区的实现.mkv
│ │ │ └09主体2区主体3区的粗框.mkv
│ ├<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
├<05 PHP核心编程>
│ ├<Day-1>
│ │ ├<视频>
│ │ │ ├01php介绍.mkv
│ │ │ ├02PHP网站运行原理.mkv
│ │ │ ├02PHP网站运行原理.wmv.baiduyun.downloading
│ │ │ ├02PHP网站运行原理.wmv.baiduyun.downloading.cfg
│ │ │ ├03apache的安装.mkv
│ │ │ ├03apache的安装.wmv.baiduyun.downloading
│ │ │ ├03apache的安装.wmv.baiduyun.downloading.cfg
│ │ │ ├04安装的回顾,测试和apache目录介绍.mkv
│ │ │ ├04安装的回顾,测试和apache目录介绍.wmv.baiduyun.downloading
│ │ │ ├04安装的回顾,测试和apache目录介绍.wmv.baiduyun.downloading.cfg
│ │ │ ├05检测apache配置文件语法的命令.mkv
│ │ │ ├06配置环境变量使httpd可以快捷使用.mkv
│ │ │ ├07Apache的启动和停止.mkv
│ │ │ ├08几个基本概念,域名解析.mkv
│ │ │ ├08几个基本概念,域名解析.wmv.baiduyun.downloading
│ │ │ ├08几个基本概念,域名解析.wmv.baiduyun.downloading.cfg
│ │ │ ├09端口,url,以及访问流程.mkv
│ │ │ ├09端口,url,以及访问流程.wmv.baiduyun.downloading
│ │ │ ├09端口,url,以及访问流程.wmv.baiduyun.downloading.cfg
│ │ │ ├10上午总结.mkv
│ │ │ ├11php的基本配置(实现可用性).mkv
│ │ │ ├11php的基本配置(实现可用性).wmv.baiduyun.downloading
│ │ │ ├11php的基本配置(实现可用性).wmv.baiduyun.downloading.cfg
│ │ │ ├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
│ │ │ ├09_GET变量.mkv
│ │ │ ├09post数据的提交改进.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博客系统设计>
│ ├<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
│ ├<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
├<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>
│ │ ├<视频>
│ │ │ ├10-添加页面数据提交.mkv
│ │ │ ├11-修改页面数据.mkv
│ │ │ ├1-vuetify的基本使用.mkv
│ │ │ ├2-vuetify栅格单行单列.mkv
│ │ │ ├3-container的属性.mkv
│ │ │ ├4-响应式布局.mkv
│ │ │ ├5-对齐方式.mkv
│ │ │ ├6-列表显示1.mkv
│ │ │ ├7-上午内容复习.mkv
│ │ │ ├8-列表显示.mkv
│ │ │ └9-添加页面.mkv
├<19.ThinkPHP5品优购商城>
│ ├<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
│ │ │ ├10-短信接口.mkv
│ │ │ ├11-发送短信页面实现.mkv
│ │ │ ├1-级联框.mkv
│ │ │ ├20181121_101759.mkv
│ │ │ ├20181121_102550.mkv
│ │ │ ├2-品牌下拉框.mkv
│ │ │ ├3-.mkv
│ │ │ ├4-其它文本框.mkv
│ │ │ ├5-富文本编辑器.mkv
│ │ │ ├6-规格参数页面渲染.mkv
│ │ │ ├7-表与表之间关系分析.mkv
│ │ │ ├8-显示前台首页.mkv
│ │ │ ├9-注册页面渲染.mkv
│ │ │ └补充-复杂版实现.mkv
│ ├<12-shop>
│ │ ├<视频>
│ │ │ ├0-复习.mkv
│ │ │ ├10-列表的分页显示.mkv
│ │ │ ├11-详情页的渲染.mkv
│ │ │ ├1-表单验证.mkv
│ │ │ ├2-手机验证码验证.mkv
│ │ │ ├3-.mkv
│ │ │ ├4-用户登录.mkv
│ │ │ ├5-用户登录session.mkv
│ │ │ ├6-渲染分类页面.mkv
│ │ │ ├7-使用布局改造.mkv
│ │ │ ├8-列表页.mkv
│ │ │ └9-列表渲染2.mkv
│ ├<13-shop>
│ │ ├<视频>
│ │ │ ├0-复习.mkv
│ │ │ ├10-批量删除.mkv
│ │ │ ├11-解决一些小bug.mkv
│ │ │ ├12-支付宝支付.mkv
│ │ │ ├1-cookie和session的原理.mkv
│ │ │ ├2-localStorage的介绍与基本使用.mkv
│ │ │ ├3-实现加入购物车1.mkv
│ │ │ ├4-加入购物车2.mkv
│ │ │ ├5-实现购物车列表.mkv
│ │ │ ├6-价格计算.mkv
│ │ │ ├7-计算总价.mkv
│ │ │ ├8-删除一条记录.mkv
│ │ │ └9-选中的计算.mkv
│ ├<14-shop>
│ │ ├<视频>
│ │ │ ├10-关联更新.mkv
│ │ │ ├11-swoole.mkv
│ │ │ ├12-一对多.mkv
│ │ │ ├13-多对多.mkv
│ │ │ ├1-表与表之间的关系.mkv
│ │ │ ├2-多对多表关系分析.mkv
│ │ │ ├3-环境准备.mkv
│ │ │ ├4-不要关联模型实现一对一.mkv
│ │ │ ├5-使用关联模型实现一对一.mkv
│ │ │ ├6-根据关联表查本表.mkv
│ │ │ ├7-N+1问题.mkv
│ │ │ ├8-上午复习.mkv
│ │ │ └9-关联新增.mkv
│ ├<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
│ │ │ ├10-页面优化.mkv
│ │ │ ├11-加入搜索框.mkv
│ │ │ ├12-后台实现接口.mkv
│ │ │ ├13-发送请求渲染数据.mkv
│ │ │ ├1-tree组件的代码分析.mkv
│ │ │ ├2-tree组件的使用.mkv
│ │ │ ├3-创建模块和控制器.mkv
│ │ │ ├4-tp实现分类列表接口.mkv
│ │ │ ├5-接口优化.mkv
│ │ │ ├6-跨域原理.mkv
│ │ │ ├7-TP实现跨域请求.mkv
│ │ │ ├8-上午的复习.mkv
│ │ │ ├9-使用vuetify画表格.mkv
│ │ │ ├分类列表显示.mkv
│ │ │ ├课程介绍.mkv
│ │ │ └前端代码架构分析.mkv
│ ├<9-shop>
│ │ ├<视频>
│ │ │ ├0-前一天复习.mkv
│ │ │ ├10-关闭窗口.mkv
│ │ │ ├11-上传接口.mkv
│ │ │ ├12-回显数据.mkv
│ │ │ ├13-回显示分类数据.mkv
│ │ │ ├14-修改接口实现.mkv
│ │ │ ├1-预告.mkv
│ │ │ ├3-对话框显示.mkv
│ │ │ ├4-表单制作.mkv
│ │ │ ├5-级联框.mkv
│ │ │ ├6-前台添加表单提交.mkv
│ │ │ ├7-后台接口实现1.mkv
│ │ │ ├8-后台接口实现2.mkv
│ │ │ └9-关联关系模型.mkv
├<20 Nginx服务器集群>
│ ├<1-nginx>
│ │ ├10日志文件结合定时任务切割案例.mkv
│ │ ├11location语法讲解.mkv
│ │ ├1判断大型网站的标准.mkv
│ │ ├2大并发服务器架构.mkv
│ │ ├3NGINX的介绍.mkv
│ │ ├4挂载光驱配置yum源.mkv
│ │ ├5实现本地软件的上传.mkv
│ │ ├6NGINX的安装启动管理.mkv
│ │ ├7配置文件讲解.mkv
│ │ ├8NGINX虚拟主机的配置.mkv
│ │ └9日志管理配置日志.mkv
│ ├<2-nginx>
│ │ ├10PHP与nginx的整合.mkv
│ │ ├11部署tp框架.mkv
│ │ ├12部署dede项目.mkv
│ │ ├13负载均衡的配置.mkv
│ │ ├14window下安装nginx.mkv
│ │ ├1内容回顾.mkv
│ │ ├2定时任务说明.mkv
│ │ ├302与301重定向.mkv
│ │ ├3重新规则.mkv
│ │ ├6gizip压缩配置.mkv
│ │ ├7rpm安装mysql软件.mkv
│ │ ├8安装PHP.mkv
│ │ ├9配置PHP.mkv
│ │ ├EV~2018.11.28~17.23.49.mkv
│ │ └重写规则break与last的区别.mkv
├<21.Memcache缓存设计>
│ ├<3-memcache>
│ │ ├10memcache在TP5中使用.mkv
│ │ ├11memcache分布式存储.mkv
│ │ ├12session数据入memcache.mkv
│ │ ├13memcache注意的其他问题.mkv
│ │ ├14linux下安装memcache软件.mkv
│ │ ├1memache的介绍.mkv
│ │ ├2在window下面安装memache.mkv
│ │ ├3telnet链接memcache服务器.mkv
│ │ ├4添加和修改操作.mkv
│ │ ├5设置删除状态指令操作.mkv
│ │ ├6失效时间说明.mkv
│ │ ├7安装php扩展.mkv
│ │ ├8PHP数据类型存储memcache.mkv
│ │ └9memcache应用案例.mkv
├<22.Redis>
│ ├<4-redis>
│ │ ├<1201>
│ │ │ ├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
│ │ │ ├1内容回顾.mkv
│ │ │ ├20外网Redis客户端访问限制.mkv
│ │ │ ├2nosql简介.mkv
│ │ │ ├3Redis介绍.mkv
│ │ │ ├4Redis软件linux下安装.mkv
│ │ │ ├5redis启动管理.mkv
│ │ │ ├6window安装redis.mkv
│ │ │ ├7字符串的操作.mkv
│ │ │ ├8哈希类型的操作.mkv
│ │ │ ├9链表类型操作.mkv
│ │ │ └9链表类型操作2.mkv
│ ├<5-redis>
│ │ ├<1203>
│ │ │ ├10综合案例-添加关注.mkv
│ │ │ ├11队列说明.mkv
│ │ │ ├1数据类型集合操作.mkv
│ │ │ ├2数据类型有序集合.mkv
│ │ │ ├3redis中主从复制.mkv
│ │ │ ├4Redis中的事务.mkv
│ │ │ ├5秒杀抢购案例.mkv
│ │ │ ├6综合案例-用户注册.mkv
│ │ │ ├7综合案例-列表页面.mkv
│ │ │ ├8综合案例-修改数据.mkv
│ │ │ ├9综合案例-删除用户.mkv
│ │ │ └内容回顾.mkv
├<23.MongoDB>
│ ├<6-mongodb>
│ │ ├<1204>
│ │ │ ├<视频>
│ │ │ │ ├10mongodb中的管理员权限控制.mkv
│ │ │ │ ├11mongodb中的索引.mkv
│ │ │ │ ├12mongodb数据的导出导入.mkv
│ │ │ │ ├13mongodb的主从复制.mkv
│ │ │ │ ├14PHP操作mongodb.mkv
│ │ │ │ ├15linux下安装mongodb.mkv
│ │ │ │ ├1mongodb简介.mkv
│ │ │ │ ├2mongodb的几个概念.mkv
│ │ │ │ ├3mongodb安装.mkv
│ │ │ │ ├4mongodb压缩包方式安装.mkv
│ │ │ │ ├5MongoDB入门语句.mkv
│ │ │ │ ├6添加文档.mkv
│ │ │ │ ├7删除文档.mkv
│ │ │ │ ├8修改文档.mkv
│ │ │ │ ├9查询文档.mkv
│ │ │ │ ├EV~2018.12.04~17.08.10.mkv
│ │ │ │ └内容回顾-队列使用.mkv
├<24.网站优化>
│ ├<7-mysql优化一>
│ │ ├<1206>
│ │ │ ├10索引覆盖.mkv
│ │ │ ├11索引的使用原则.mkv
│ │ │ ├12mysql中锁机制.mkv
│ │ │ ├1mysql优化概述.mkv
│ │ │ ├2innodb存储引擎.mkv
│ │ │ ├3myisam存储引擎.mkv
│ │ │ ├4memory存储引擎.mkv
│ │ │ ├5慢查询日志的说明.mkv
│ │ │ ├6profile机制精确记录查询时间.mkv
│ │ │ ├7mysql中索引.mkv
│ │ │ ├8执行计划分析sql语句的执行情况.mkv
│ │ │ ├9索引的数据结构.mkv
│ │ │ └PHP文件演示锁机制.mkv
│ ├<8-mysql优化二>
│ │ ├<1207>
│ │ │ ├10SQL编程循环操作.mkv
│ │ │ ├11存储过程讲解.mkv
│ │ │ ├1查询缓存的使用.mkv
│ │ │ ├2创建分区.mkv
│ │ │ ├3分区管理.mkv
│ │ │ ├4分表技术.mkv
│ │ │ ├5数据碎片与维护.mkv
│ │ │ ├6表的范式讲解.mkv
│ │ │ ├7mysql中的视图.mkv
│ │ │ ├8MySQL中的视图(二).mkv
│ │ │ ├9SQL编程if判断.mkv
│ │ │ └内容回顾.mkv
│ ├<9-mysql优化三>
│ │ ├<1209>
│ │ │ ├10MySQL 中log-bin日志操作.mkv
│ │ │ ├11配置主从服务器.mkv
│ │ │ ├12TP框架中读写分离实现.mkv
│ │ │ ├1存储过程补充.mkv
│ │ │ ├2自定义函数.mkv
│ │ │ ├3mysql中系统函数用法一.mkv
│ │ │ ├4mysql中系统函数用法二.mkv
│ │ │ ├5触发器简介.mkv
│ │ │ ├6触发器讲解.mkv
│ │ │ ├7事务操作.mkv
│ │ │ ├8读写分离介绍.mkv
│ │ │ ├9MySQL授权账号.mkv
│ │ │ ├EV~2018.12.09~12.01.35.mkv
│ │ │ └内容回顾.mkv
├<25.-sphinx+页面静态化>
│ ├<10-sphinx+页面静态化>
│ │ ├<1210>
│ │ │ ├10网页静态化的概述.mkv
│ │ │ ├11ob缓存的讲解.mkv
│ │ │ ├12真静态案例.mkv
│ │ │ ├13伪静态介绍.mkv
│ │ │ ├14伪静态案例.mkv
│ │ │ ├15防盗链案例.mkv
│ │ │ ├1回顾.mkv
│ │ │ ├2sphinx简介与原理.mkv
│ │ │ ├3sphinx的安装.mkv
│ │ │ ├4使用sphinx创建索引.mkv
│ │ │ ├5安装启动sphinx的服务.mkv
│ │ │ ├6查询关键词到sphinx服务器代码演示.mkv
│ │ │ ├7查询关键词标注.mkv
│ │ │ ├8sphinx的匹配模式.mkv
│ │ │ └9增量索引的创建.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

黑马PHP+H5全栈开发项目实战 IT教程 第2张

相关下载

点击下载

参与评论