1.面向对象编程
- 面向对象编程基本概念
- 类和对象的关系
- 如何定义类
- 成员属性(变量)
- 如何创建对象实例及如何访问对象属性
- 对象在内存中存在的形式
- 栈、堆、全局区、常量区和代码区的关系
- 成员方法(函数)及使用细节
- 构造方法(函数)
- 默认构造方法(函数)
- this的基本概念和使用
- 析构方法(函数)
- PHP的对象垃圾回收器
- 静态变量(类变量)的概念和使用
- 静态方法(类方法)的概念和使用
- 面向对象编程的三大特征介绍
- 面向对象编程-封装
- 面向对象编程-继承
- 面向对象编程-多态
- 访问控制修饰符(public、protected、private)
- 方法重载(overload)
- 方法重写(override)
- 方法重载(overload)和方法重写(override)的比较
- PHP魔术函数(__set __get __construct __destruct __call等 )和魔术常量(LINE , FILE ,__FUNCTION__等 )
- 抽象类(abstract class)的概念和使用接口(interface)的概念和使用
- 接口编程和继承的区别
- 关键字final的使用
- 常量关键字const 的作用和使用注意事项
- 面向对象编程之强大的反射机制
- 面向对象编程之动态代理
2.Mysql数据库
-
什么是数据库
-
MySQL数据库的三层结构
-
MySQL数据库的安装和配置
-
数据库命令行的常见操作(启动、连接、操作、关闭等)
-
SQL语句分类(ddl/dml/dcl/dql/dtl)
-
创建、查看、删除、修改、备份和恢复数据库
-
如何创建表及MySQL数据类型详解
-
修改、删除表操作
-
如何对数据表进行CRUD操作
-
select语句中使用orderby
-
合计函数(count/sum/avg/max/min)
-
select语句中使用group by 和having子句
-
时间日期常用的10个函数
-
字符串相关11个函数
-
数学函数10个
-
流程控制函数3个
-
其它函数4个
-
MySQL中文乱码处理
-
PHP操作数据库实例
-
MySQL表类型和存储引擎(BDB/HEAP/ISAM/MERGE/MYISAM/InnoBDB)
-
如何选择表的存储引擎
-
事务的基本概念
-
事务和锁
-
事务提交和回滚操作
-
PHP程序中如何使用事务
-
事务隔离级别
-
表的主键和外键
-
多表联合查询和笛卡尔集
-
自连接
-
单行子查询和多行子查询
-
蠕虫复制创建海量表
-
合并查询(union , union all,intersect , minus)
-
表的内连接和外连接(左外连接、右外连接和完全外连接)
-
维护数据的完整性-约束(not null、unique, primary key,foreign key,和check )
-
商店售货系统表设计案例
-
索引(主键索引/唯一索引/全文索引/普通索引/复合索引)
-
索引优缺点分析
-
触发器和存储过程
-
mysql扩展库简介
-
mysql扩展库操作mysql数据库程序
-
mysql_query()执行结果
-
释放资源和连接
-
对mysql数据库进行CRUD
-
mysqli扩展库简介
-
第一个mysqli扩展库程序
-
$mysqli->query()执行结果
-
mysqli对数据库进行CRUD操作
-
mysqli扩展库增强--批量执行sql语句
-
mysqli扩展库增强--事务控制
-
事务的acid
-
预处理 MySQLi_STMT
-
PDO的介绍和使用
-
数据库表设计的3NF
-
什么是反3NF
-
SQL语句优化的基本概念
-
show status命令了解各种SQL的执行频率
-
SQL语句优化-定位慢查询(slow-query-log)
-
SQL语句优化-explain分析问题
-
建立适当的索引
-
哪些列上适合添加索引和索引的优缺点分析
-
索引的类型介绍
-
索引使用陷阱
-
优化group by 语句
-
使用连接来替代子查询
-
选择合适的存储引擎(MyISAM和InnoDB)
-
选择合适的数据类型
-
对表进行水平划分
-
对表进行垂直划分
-
文件、图片等大文件用文件系统存储
-
数据库参数优化配置
-
合理的硬件资源和操作系统
-
MySQL数据库读写分离