网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

对php面向对象中魔术方法的认识

//header(charset="utf8");
    //echo 'hey 这里是描述我对php 面向对象中各种魔术方法的认识。';
/*
 *魔术方法是在一些特定情况下会自动调用的一些php系统自定义函数
 *这些函数都很有个性,他们统一以__两个 _ (下划线)开头。
 * 下面对于php 中这些常用的魔术方法一些个人认识。
 **/
class demo {
    public $name;
    public $age;

//当实例化这个类,首先会自动调用的方法 __construct (构造函数)
//注意,在一些特定场合将构造函数写成了私有方法时,需要用静态方法实例化这个类
function __construct($name,$age){
    echo '实例化本类最先执行的函数
';
    $this->name = $name;    //这样以来相当于初始化了这个实例。
    $this->age  = $age;
}


//当对象被克隆时触发的函数 __clone()
function __clone(){
    echo '发现克隆体
';
}

//当我们访问一个不存在的或者无权限访问的属性时。触发函数 __get
//当访问private,protected等属性都会触发该函数
function __get($value){
    echo '你正要访问的'.$value.'属性无法访问
';
}

//设置属性与属性值,对已经存在的属性设置不会触发函数 __set
function __set($key,$value){
    echo "你所要设置的属性名为$key,属性值为$value
";
}

//当在一个未定义(包括 protected/private)的属性上调用 isset() 时,调用__isset()
function __isset($value){
    echo '你所访问的属性不存在
';
}


//在删除一个不可访问的属性时间触发 __unset()
function __unset($value){
    echo "你这要删除一个名为".$value."的属性
";
}



//析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数。 __destruct(析构函数)
//可以说这个方法是在程序的最后面执行的
function __destruct(){
    echo '程序跑到尾声才触发的一个函数';
}
}
$demo = new demo('zhang','1');
//unset($demo->ss);//你这要删除一个名为ss的属性
//isset($demo->sss);//你所访问的属性不存在
//你所要设置的属性名为gender,属性值为nan
//$demo->gender = 'nan';    //不存在的属性出发__set 方法
//$demo->name = 'jian';    //已存在的属性直接设置。
//echo $demo->name;
//$demo->ss;//你正要访问的ss属性无法访问
//$demo1 = clone($demo);    //此时处罚了clone() 方法
?>

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的钟祥网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!


本文名称:对php面向对象中魔术方法的认识
本文网址:http://bjjierui.cn/article/jcoeoc.html

其他资讯