01魔术方法__get应用
<?php
class Student
{
private $name = "张三";
private $age = 24;
public function __get($n)
{
return $this->$n;
}
}
$obj = new Student();
echo "{$obj->name}的年龄是{$obj->age}岁!";
02魔术方法__set应用
<?php
class Student
{
private $name = "张三";
private $age = 24;
public function __set($n,$v)
{
$this->$n = $v;
}
}
$obj = new Student();
$obj->name = "刘明明";
$obj->age = 29;
var_dump($obj);
03魔术方法__isset应用
<?php
class Student
{
private $name = "张三";
private $age = 24;
public function __isset($n)
{
return isset($this->$n);
}
}
$obj = new Student();
if(isset($obj->name))
{
echo "存在";
}else
{
echo "不存在或不可访问";
}
04魔术方法__unset应用
<?php
class Student
{
private $name = "张三";
private $age = 24;
public function __unset($n)
{
unset($this->$n);
}
}
$obj = new Student();
unset($obj->name);
var_dump($obj);
05魔术方法__call应用
<?php
class Student
{
private $name = "张三";
private $age = 24;
public function __call($func,$args)
{
echo "方法{$func}(".implode(',',$args).")不存在或不可访问!";
}
}
$obj = new Student();
$obj->showInfo("张三",24);
06魔术方法__callStatic应用
<?php
class Student
{
private $name = "张三";
private $age = 24;
public static function __callStatic($func,$args)
{
echo "方法{$func}(".implode(',',$args).")不存在或不可访问!";
}
}
Student::showInfo('张三四',24,'男');