永发信息网

PHP中__get和__set的功能

答案:2  悬赏:0  手机版
解决时间 2021-05-02 10:29

class Employee

{

var $name;

function __set($propName,$propValue)

{

echo "Nonexistent variable: \$$propName!";

}

}

$employee=new Employee();

$employee->name = "Mario";

$employee->title ="Executive Chef";

__set函数在这个简短的程序中起到什么作用。它影响到哪条语句。

如果没有__set函数会出现什么错误,

还请大师说说__get和__set函数的功能

最佳答案
__get和__set类似于.net中的属性访问器,用于给类中的私有字段赋值。但注意,一般这种方式只能给一个字段赋值,当你的类中有多个字段的时候,建议使用function getProperty(){}和function setProperty(value)的形式(类似于java)。
所以上述代码你使用的方式完全错误:
class Employee
{
$name
public function __get()
{
return $name;//取得私有字段的值
}
public function __set($propValue)
{
this->$name = $propValue;//给私有字段赋值
}
}
全部回答
__set($name,$val) //这个函数必须有两个参数,将$val赋值给$name。 __get($name) //这个函数有一个参数; 这两个函数都是类中的魔术函数,只能在类中,而且只能给未定义的对象设置属性或读取属性。 这点与java不同。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么样的男人才可靠?
学习雷锋做美德少年我要留言
1964的八月二十二的农历是多少
被中天黄金骗做现货黄金,被人为故意暴仓了,可
我的大话西游二被盗号之后上去总是不到十秒就
冒险岛超过120级四转技能点会损失吗 试过的在
<挪威的森林>是黄色吗?
CC影城在什么地方啊,我要过去处理事情
东莞大岭山怎么到深圳华强北?!
YPT450M2-8电动机使用与保养
dnf龙鸣是几级的装备?【急需答案】
谁能帮我查下从沈阳走北京再走兰州的火车连票
腾讯QQ2010Beat版为什么不能让所有的QQ用户,
结婚红包要写名字吗,结婚红包有什么格式要求
“花开若相惜 花落莫相离 ” 这首 景皓唱的歌
推荐资讯
手机QQ农场什么时候开放啊?
为什么我的人生会是这样子?
有关青州的诗句
楼门前路/木匠街(路口)在什么地方啊,我要过
劲舞团商城的登陆验证码图片为什么不显示?怎
QQ表情怎么回事
法律求助非常着急!!!给我朋友出个注意
排这队上厕所!猜一个国家的首都
搜罗一些小说。
求等腰梯形的外接圆半径
陈翔什么时候会跳舞?
为什么哭过以后总觉得想睡觉,还有觉得冷?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?