值不值得学:看你是否需要维护 PHP 老项目

这门课解决的是 PHP 开发里最常见的一个断层:能写简单的增删改查,但看不懂别人代码里的类、对象、构造方法是怎么回事。如果你平时还在用面条式脚本拼页面,每次改需求都要复制粘贴大段逻辑,那这套面向对象的内容就是帮你把代码拆成模块的基础课。它不教框架,也不讲设计模式,只把类怎么定义、实例怎么跑、对象怎么传值这些底层逻辑讲清楚。适合已经能独立写 PHP 脚本、但没系统接触过 OOP 的人;如果你连基础语法和 MySQL 查询都还卡壳,建议先补基础再看。

建议先看哪几块:从思想转变到类与对象

资料的结构很清晰,建议按顺序看,但重点抓三块。第一块是开头的编程思想介绍,特别是从面向过程到面向对象的转变,这段帮你建立为什么要用类的直觉,别跳过。第二块是类与对象的定义、实例化、this 关键字,这是整门课的骨架,构造方法和析构方法要跟着敲一遍,理解对象生命周期。第三块是后半段的传值、克隆和静态成员,这块容易绕晕,建议看完视频后自己写个报名流程的小例子,把对象传来传去的过程打印出来看结果。

学完能独立做什么:封装自己的工具类

学完之后,你应该能把以前散在各个脚本里的数据库连接、表单验证、报名逻辑这类重复代码,封装成一个简单的类,然后在多个页面实例化调用。课程里提到的数据库操作类是个很好的练手目标,学完试着自己写一个精简版,能连接数据库、执行查询、返回结果集。资料配合练习的方式很简单:每章看完先暂停,把视频里的示例代码自己敲一遍运行,别只看不动手。遇到 this 指向和对象克隆这种抽象概念,直接用 var_dump 打印对象结构,比反复听讲解管用。整门课不追求花哨,目标是让你下次接手别人写的 OOP 项目时,不至于对着类文件发呆。


PHP面向对象

课程目录

*   第一章 PHP面向对象/

  *   编程思想介绍/

    *   01 面向过程的编程思想

    *   02 面向过程的实例

    *   03 面向对象编程思想(上)_对象实体

    *   04 面向对象编程思想(下)_属性方法

    *   05 面向过程到面向对象编程思想的转变

  *   类与对象/

    *   06 面向对象的基本概念

    *   07 类的定义

    *   08 类的组成

    *   09 类的实例化

    *   10 $this关键字的使用(上)

    *   11 $this关键字的使用(下)

    *   12 使用OOP完成报名过程(上)

    *   13 使用OOP完成报名过程(下)

    *   14 构造方法

    *   15 其他版本的构造方法

    *   16 析构方法

    *   17 析构方法的使用

    *   01 对象的传值

    *   02 对象的克隆

    *   03 __clone方法

    *   04 MySQLDB类初步(上)

    *   05 MySQLDB类初步(下)

    *   06 静态成员-静态属性

    *   07 静态成员-静态方法的声明

    *   08 静态成员-静态方法和非静态方法的比较

    *   09 类常量

    *   10 类中所有成员的存储机制

    *   11 类文件的手动加载

    *   12 类文件的自动加载

    *   13 注册其他自动加载函数-语法格式

    *   14 注册其他自动加载函数-注意事项

    *   15 注册其他加载方法

  *   PHP中的继承/

    *   01 类的继承-基本概念

    *   02 类的继承-其他几个概念

    *   03 类的继承-几点强调

    *   04 重写-基础

    *   05 重写-深入

    *   5.2 重写的其他语法

    *   06 访问控制修饰符-访问控制范围

    *   07 访问控制修饰符-三种访问修饰符

    *   08 访问控制修饰符使用的基本原则

    *   09 访问控制修饰符使用的其他原则

    *   9.9提高MySQLDB类的封装性

    *   10 增加MySQLDB类的功能

    *   11 final最终类

    *   12 final最终方法

    *   13 抽象类的概念

    *   14 抽象类的其他补充

    *   15 抽象类的声明

    *   16 抽象类的作用

    *   17 接口的概念

    *   18 接口的定义

    *   19 接口和抽象类的比较

    *   01 overload重载简介

    *   02 属性“重载”之__set()方法

    *   03 属性“重载”之__get()方法

    *   04 属性“重载”之__set()方法和__get()方法的作用

    *   05 属性“重载”之__unset()方法

    *   06 属性“重载”之__isset()方法

    *   07 方法的重载-语法

    *   08 方法的重载-案例

    *   09 完善MySQLDB类的重载

    *   10 后期静态绑定(上)

    *   11 后期静态绑定(下)

  *   单例模式/

    *   12 单例模式-概念

    *   13 单例模式-实现(上)

    *   14 单例模式-实现(下)

    *   15 MySQLDB类的单例模式

  *   工厂模式/

    *   16 工厂模式(上)

    *   17 工厂模式(下)

  *   对象的序列化/

    *   18 数据的持久化存储

    *   19 数据的序列化和反序列化

    *   20 对象的序列化与反序列化(上)

    *   21 对象的序列化和反序列化(下)

  *   魔术方法和魔术常量/

    *   01 魔术方法

    *   02 魔术常量

  *   对象的遍历/

    *   03 对象的遍历

    *   04 对象的自定义遍历(上)

    *   05 对象的自定义遍历(下)

  *   类型的约束/

    *   06 类型的约束

  *   类和对象的相关函数/

    *   07 类和对象的相关函数(上)

    *   08 类和对象的相关函数(下)

  *   命名空间/

    *   09 命名空间的概述(上)

    *   10 命名空间的概述(下)

    *   11 空间成员

    *   12 子空间

    *   13 空间成员的访问

    *   14 空间的引入

    *   15 空间类的引入

    *   16 全局空间