PHP魔术方法__GET、__SET使用实例

发布网友 发布时间:2022-04-06 01:03

我来回答

1个回答

热心网友 时间:2022-04-06 02:33

__get()  -
读取不可访问属性的值时,__get()
会被调用。
__set()  -
在给不可访问属性赋值时,__set()
会被调用。
复制代码
代码如下:
<?php
/**
*
清晰的认识__get()
__set()
*/
class
Example
{

//公有的属性

public
$public
=
'pub'
;

//受保护的
-
子类中该属性可用

protected
$protected
=
'pro';

//私有的
-
只能此类使用此属性

private
$private
=
'pri';

//当访问对象中的属性不存在或者非公有属性的时候自动加载__get()方法

public
function
__get($name){

return
'调用__get()方法:'.$name;

}

//当给对象的一个属性赋值的时候如果该属性不存在或者是非公有属性则自动加载__set()方法

public
function
__set($name,$value){

echo
"\nname:".$name.',value:'.$value."\n";

}
}
$example
=
new
Example;
echo
'<pre>';
echo
$example->public."\n";
echo
$example->protected."\n";
echo
$example->private."\n";
echo
$example->other."\n";
echo
'<hr>';
$example->public
=
'lic';
//这个赋值成功所有没有显示
$example->protected
=
'tec';
$example->private
=
'vat';
$example->other
=
'er';
echo
'<br/>';
echo
'打印
public
属性:'.$example->public;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com