加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP魔术方法具体实践

发布时间:2021-05-23 09:08:02 所属栏目:PHP教程 来源:互联网
导读:1、__set() 方法 在为当前环境下未定义或不可见的类属性赋值时,会自动调用 __set() 方法。定义该方法的语法格式如下: public function __set($key, $value){ .
1、__set() 方法 在为当前环境下未定义或不可见的类属性赋值时,会自动调用 __set() 方法。定义该方法的语法格式如下:

public function __set($key, $value){
    ... ... ;
}

其中,参数 $key 是要操作的变量名称,$value 为变量 $key 的值。

【示例】下面使用简单的示例来演示一下 __set() 方法的使用。

<?php

class Website{

public $name;

private $url;

public function __set($key, $value){

echo '为“'.$key.'”赋值“'.$value.'”失败!<br>';

}

}

 

$object = new Website();

$object -> name = 'C语言中文网';

$object -> url = '';

$object -> title = 'PHP教程';

?>

运行结果如下:

为“url”赋值“”失败! 为“title”赋值“PHP教程”失败!

利用 __set() 方法的特性,我们可以通过 __set() 方法为类中的使用 private 关键词修饰的属性进行赋值或修改。如下所示:

<?php

class Website{

public $name;

private $url = '';

public function __set($key, $value){

if(isset($this->$key)){

$this -> $key = $value;

}else{

echo '为“'.$key.'”赋值“'.$value.'”失败!<br>';

}

}

public function getUrl(){

echo $this -> url;

}

}

 

$object = new Website();

$object -> name = 'C语言中文网';

$object -> url = '';

$object -> title = 'PHP教程';

$object -> getUrl();

?>

运行结果如下:

为“title”赋值“PHP教程”失败!

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读