会PHP的帮我分析一下这代码,我新手不理解

[复制链接]
查看11 | 回复1 | 2010-4-9 15:47:40 | 显示全部楼层 |阅读模式
任何__双下线打头的函数都不需要你去专门执行。这些函数都是在某种触发条件下自动执行的。比如__construct,就会在一个class设定的时候执行。__set的作用是控制如何处理赋值与那些class里没有指定的变量。这个例子里,因为name class里有设定,所以__set没有执行。而title在class里不存在,所以__set执行了。__set的两个输入,分别是,变量名,变量值。在例子里,第一个变量是title,第二个是Executive Chief. 我们再看__set里的语句。是要写出Nonexistent variable: \$$propName!.因为$是禁止字符,所以想写出这个字符时前面要加一个右斜。而$propName自动变成上面所说的title,也就是__set的第一个输入。所以最后的结果即是Nonexistent variable: $title!
回复

使用道具 举报

千问 | 2010-4-9 15:47:40 | 显示全部楼层
class Employee{ var $name; function __set($propName,$propValue) {echo "Nonexistent variable: \$$propName!"; }}echo "Nonexistent variable: \$$propName!";改成 echo "Nonexistent variable: \$$propValue!";propName代表的是属性名,propValue代表的是被设定的值.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行