这篇文章主要介绍了关于php面向对象之重载 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
定义:
1)动态地“创建”类的属性和方法。
2)通过魔术方法实现。
3)当调用当前环境下未定义或不可见的类的属性或方法时,重载方法会被调用。
属性重载
__set 赋值 __get 读取 __isset 判断是否存在 __unset 销毁
例子
// 属性的重载
class Person
{
public $name = '小芳';
protected $age = 18;
public function __get($n)
{
//echo '试图读取不可访问的属性'.$n;
if( $n == 'age'){
return $this -> age;
}else{
return '你要查户口吗?';
}
}
public function __set($n,$v)
{
//echo '试图设置不可访问的属性','
';
$this -> $n = $v;
}
public function __isset($n)
{
echo '判断不可访问的属性'.$n.'是否存在','
';
}
public function __unset($n)
{
echo '销毁不可访问的属性'.$n,'
';
}
}
$p1 = new Person();
// 读取
//echo $p1 -> age,'
';
//echo $p1 -> xxx,'
';
// 设置
//$p1 -> age = 30;
//echo $p1 -> age,'
';
// 判断存在与否
isset($p1 -> age);
// 销毁
unset($p1 -> age);方法重载
__call 调用不可访问的普通方法 __callStatic 调用不可访问的静态方法
特别注意,__callStatic定义时,要定义成静态方法。
例子
func([1,2,3]); $c1 -> func2([1,2,3]);
相关推荐:
立即学习“PHP免费学习笔记(深入)”;
在伟大祖国63年华诞即将到来之际,AKCMS发布了AK政府网站系统。AK政府网站系统基于AKCMS引擎构建,继承了AKCMS灵活、小巧、速度快、负载强、安全稳定等优点,针对政府网站的特点进行了专门的优化。 AK政府网站系统前台页面大气美观,一方面体现了政府网站应有的庄重严肃,又有贴近民众的交流互动。非常适合党、政机关作为政府网站使用。 编辑内容界面,支持所见即所得,会用WORD就会录入内容,插入图










