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