PHP5中幾個魔術(shù)方法的使用
1.__get()查詢魔術(shù)方法
特點是在一個類中當有些私有類屬性在類外無權(quán)訪問的時候,可以通過定義一個__get()方法,在方法中return出成員屬性,然后類外輸出
實例代碼:
header("content-type:text/html;charset=utf-8");
class Student
{
private $name = "李四";
public $age = 23;
protected $edu = "大本";
public function __get($n)
{
return $this->$n;
}
}
$obj=new Student();
echo"{$obj->name}的年齡是{$obj->age},學歷是{$obj->edu}";
2.__set()賦值魔術(shù)方法
特點是可以給類中私有的的屬性在類外賦值__set($n,$v)
3.__unset()刪除魔術(shù)方法
特點是可以把類中私有屬性刪除__unset($n)一個參數(shù)
方法重載
1.__call()賦值魔術(shù)方法
特點是當調(diào)用一個不存在或者沒有訪問權(quán)限的方法是調(diào)用,可以例如:
class Student
{
public function __call($func,$args)
{
echo"方法{$func}(".implode(',',$args).")不存在或無訪問權(quán)限!";
}
}
$obj = new Student();
$obj->showInfo('張三',24);
2.__callStatic()用靜態(tài)方式中調(diào)用一個不可訪問方法
calss Student
{
punlic static function __callstatic($func,$args)
{
echo"方法{$func}(".implode(',',$args).")不存在或無權(quán)訪問!";
}
}
Student::showInfo('張三',32);