神奇的方法
在PHP中有几个魔法的方法,为您节省时间的方法 ,通过限制哪些代码被写入访问getter和setter等
__get($ val)将允许你有没有实际上创建一个get方法,使一个类的get方法。
当获取或设置被称为类,PHP看起来,看看是否有一个明确定义的属性,这是一个神奇的__get,__ set方法之前调用可见。
Example 类为例
{
counter ;私人柜台美元 ;
name ;私营$名称;
age ;私营美元的年龄;
__get ( $ var ) 功能的__get($ var的 )
{
empty ( $ var ) ) (空(VAR))!
{
$ this - > $ var ; 返回 $这个- > $ var的 ;
}
}
}
这将意味着,下面的代码将得到干将,没有任何可以写在类的私有变量。
example = new Example ( ) ;例如=新的范例();
example - > name ;例如- >名称;
example - > counter ;例如- >计数器;
unfortunatley它也允许我们访问计数器,应保持内部类。 是一种更好的方式,因此这样做。
Example 类为例
{
counter ;私人柜台美元 ;
vars ;私营美元 VARS;
__get ( $ var ) 功能的__get($ var的 )
{
empty ( $ var ) & & ! empty ( $ vars [ $ var ] ) ) 如果(空(VAR)&&!空($ VARS [VAR]))
{
$ this - > $ vars [ $ var ] ; 返回 $ - > $ VARS [VAR];
}
}
}
这将确保值是只读的私有数组,并没有其他的私有变量暴露
了__set()是非常类似于__得到除外,它是一个,而不是一个getter的setter。 这将设置一个值以下列方式。
Example 类为例
{
name ;私营$名称;
__set ( $ var , $ value ) 功能了__set($ var的 , 美元的价值)
{
empty ( $ var ) ) (空(VAR))!
{
this - > $ var = $ value ; $ - > $ var的值= $;
}
}
}
这可以采用下列方式:
example = new Example ( ) ;例如=新的范例();
example - > name = ' Dominic ' ; 美元的例子- >名称=“多米尼克”;
再次,一个私有数组可以用来保护类中的其他变量的保护。
已提供任何意见。
书面由多米尼克·斯金纳
最后更新:2011年10月25日十六点00分38秒