PHP 魔术方法
1.__construct() 构造函数,在实例化类的时候,会自动执行
2.__destruct() 析构函数,在实例销毁时,自动执行
3.__get() 在访问受限制的属性时,自动执行
4.__set() 在修改受限制的属性时,自动执行
5.__isset()
5.__call() 在访问受限制的方法时,自动调用
6.__tostring() 当一个对象被当作字符串对待的时候,会触发这个魔术方法
7.__clone() 当克隆对象的时候,执行函数
8.__autoload() 在实例化一个找不到的类时,调用【运行较慢,并且只有当实例化类时,才会载入】
替代方法spl_autoload_register();
spl_auto_register("auto");
function auto($classname){
$path = str_replace('\\', DIRECTORY_SEPARATORY, $classname);
require_once $path.".php";
}
魔术常量
1.__DIR__ 当前程序运行的目录
2.__FILE__ 当前程序运行的文件
3.__CLASS__ 获取当前类的名字
4.__METHOD__ 获取当前函数的名字
5.__LINE__ 获取当前程序所在的行
6.DIRECTORY_SEPARATORY 在当前系统中所用的 /
静态方法的使用 类名::方法名()
静态变量 变量所存储的信息都是函数最后一次被调用时所包含的信息。
接口 提供一个标准
只提供方法名字,不提供方法体,必须公开
只要包含抽象方法,那这个类就是抽象类,不能实例化。抽象方法不能有方法体
子类继承抽象类,必须实现父类抽象方法
命名空间,解决变量污染,冲突
PHP中use、include的区别
1、include是导入文件,如果找不到文件,include会报warning,继续执行。
2、use是使用命名空间,相当于java中的导包,前提是包中的文件需要提前require或者include进来。
use使用的时候后面的需要写全空间名+类名 ,例如命名空间Person1/Person; 其中Person1是命名空间,Person是类名。