I think this organisation will be one of the big players of the future in the PHP world. 我认为,这个组织将在PHP世界的未来的大牌球员之一。”
达伦

神奇的方法

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秒