静态成员(静态属性和静态方法)
static是静态变量类型说明符
printf 输出格式化字符串(输出到屏幕)
sprintf 不输出,只返回格式化串
self 代表类名 (访问静态成员,必须使用self关键字和:: 操作符 例:self::$sum++)
单例模式(指一个类只有一个对象实例)
封装单例模式的类时,需要做到
- 只提供私有的构造函数
- 含有一个该类的静态私有对象
- 提供一个静态的公有的函数用于创建或获取它本身的静态私有对象
- 防止克隆(private的clone方法。克隆后的对象,不会受原对象的影响,属于浅克隆)
创建静态私有的变量保存该类对象 static private $instance
判断完全相等:===
对象之间的赋值,是引用赋值,两个对象之间赋值后,就是一个对象了。
普通变量之间的赋值,如果也想使用引用赋值,必须使用 & (取地址符)。
命名空间
通过关键字namespace 声明,必须在其它所有代码之前声明命名空间
目的:解决重名问题
若要使用命名空间中的类,必须要引入这个类(引入school命名空间的Study 类:use school\Study)
引入命名空间的类时,可以给类重新命名,原有的类名不能再使用(引入 school命名空间的Study类,并重命名为Student:use school\Study as Student)
魔术方法
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods)
- __autoload():自动加载函数 主要的功能就是构造需要加载的类文件的路径,然后包括包含类文件。这一切都是当程序找不到类文件时自动执行的。
- spl_autoload_regiester()提供了一种更加灵活的方式来实现类的自动加载。