###OOP 面向对象编程 - 代码重用 - 代码健壮 - 代码封装 - 多态 - 可扩展性 ###可变变量 $a = 'we'; $we = 'they'; echo $$a; ###魔术常量 - \_\_LINE\_\_ - __FUNCTION__ - __CLASS__ - __FILE__ - __DIR__ instanceof 用于确定一个变量是不是继承某一父类的子类的实例 foreach($arr as $k=>$v){ ##code $value = ; }; unset($value); ###require与include: 1. require出错时,程序不能继续执行,并报错 2. include出错时,会继续执行,并抛出警告 3. require_once 只加载一次,防止重复加载,加载出错就不能继续执行 4. include_once 程序继续执行,并抛出警告 ###知识点 1. 函数名不区分大小写 2. 静态方法 的引用 class Test{ static public function getTest(){ code } $str = Test :: getTest(); } 3. 类常量定义 class Test1 { const constant = 'constant value'; function show() { echo self :: constant; } } 4. 自动加载类 防止加载多次文件 function __autoload($class) { require_once($class.'.php'); } $obj = new Yang(); 5. 静态方法,静态属性都是加载在内存中的 静态方法用 :: 来调用 6. 构造函数及析构函数 class Yang{ function __construct(){ echo 'aa'; } } class Ling extends Yang{ function __construct(){ parent :: construct(); ##code; } //当对象销毁时会执行 function __desturct(){ #code } } 7. 任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的,被定义为抽象的方法只是声明了其调用方式,不能定义其具体的功能实现。 8. 抽象方法声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的,而不能定义为私有的。 abstract class abstractClass{ //强制要求子类定义这些方法 abstract protected function getValue(); abstract protected function prefix($prefix); } 9. 若一个类被声明为final,则不能被继承。如果父类中的方法被声明为final,则子类无法覆盖该方法。 final public function