PHP
- PHP 5.3 - namespace, closure
- PHP 5.4 - trait, short array syntax
- PHP 5.5 - finally, generator
- PHP 5.6 - constant expressions, variadic function, argument unpacking, phpdbg
- PHP 7.0 - Improved performance: PHP 7 is up to twice as fast as PHP 5.6, Consistent 64-bit support, Many fatal errors are now Exceptions, Removal of old and unsupported SAPIs and extensions, The null coalescing operator (??), Combined comparison Operator (<=>), Return Type Declarations, Scalar Type Declarations, Anonymous Classes
- PHP 生命周期
- 命令行模式
- 语言结构(Language Construct) - language construct is not a function, cannot be called using , such as echo, print, unset(), isset(), empty(), include, require
- 数组操作(个人认为 PHP 与其他语言对比,强大的数组功能大大简化了开发者对数据的结构类组织工作)
- 关联数组
- 多维数组
- 排序
- 自动加载 - Autoloading
- __autoload
- spl_autoload_register()
-
- 属性重载
- __get() - 调用未定义的属性时调用
- __set() - 对未定义的属性赋值时调用
- __isset() - 对未定义属性使用 isset()、empty() 方法时被调用
- __unset() - 对未定义属性使用 unset() 方法时被调用
- 方法重载
- __call() - 调用一个不存在的方法时被调用
- __callStatic() - 调用一个不存在的静态方法时被调用
- 序列化
- __sleep() - 序列化对象时被调用
- __wakeup() - 反序列化对象时被调用
- 构造函数
- __construct() - 构造函数,对象初始化时被调用
- __destruct() - 析构函数,对象释放时被调用
- 其他
- __invoke() - 尝试以方法调用的方式调用一个对象时被调用
- __toString() - 当一个类被尝试当做字符串使用时被调用,返回值只能为字符串,否则触发 PHP 致命错误
- __clone() - 使用 clone 关键字作对象复制时被调用
- __set_state() - 使用 var_export() 方法导出类时被调用
- __debugInfo() - 使用 var_dump() 方法导出类时被调用
- 属性重载
- OOP - 面向对象
- 继承、封装、多态
- SPL - Standard PHP Library
- 抽象类 vs 接口
- 属性
- 静态方法、属性
- 静态延时绑定 - static
- 常量 vs define
- 命名空间
- 反射
- 类函数 vs 对象函数
- Final 类
- Traits - like Partial Class in C#
- OPCode
- 回调、匿名函数和闭包
- 生成器 -
- yield
- heredoc & nowdoc (PHP 5.3.0 新增)
- PDO & mysqlnd
- 错误和异常处理
- PHP Error
- trigger_error
- 将 PHP Error 转为 Exception 处理 - set_error_handler
- PHP Exception
- PHP Error
- 安全模式 - safe_mode(自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。)
- - PHP 开发入门最佳选择,主要关注语言本身
- Book: 深入PHP 面向对象、模式与实践 - PHP 开发进阶,关注使用面向对象开发、设计模式编写稳定可维护的代码,同时介绍了版本管理(SVN)、持续集成等实践知识
- - PHP: The Right Way 作者新作,关于 PHP 开发实践的一本书
- Github: PHP must watch - PHP 相关视频整理