oop

###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 

  

原文地址:https://www.cnblogs.com/linglingyang/p/4694428.html