[英]PHP access member variable using constant
這是一些代碼的非常簡化的示例,可能已被過度編碼,但是我想使用類常量訪問類成員變量,並且想知道是否有比下面的$ foo-> __ get更簡單的語法?
class Foo
{
const BAR = 'bar';
private $props = array( self::BAR => 'wee' );
public function __get($name)
{
return $this->props[$name];
}
}
$foo = new Foo();
echo $foo->__get(Foo::BAR);
這也適用:
$foo->{Foo::BAR};
或實現ArrayAccess
,那么您可以:
$foo[Foo::BAR]
但是為什么不以$foo->bar
訪問它呢? 您是否打算對該常數進行很多更改,或者我在這里缺少什么?
我認為代碼看起來不錯,但是您可以使用構造函數來初始化props
數組:
class Foo
{
const BAR = 'bar';
private $props;
public function __construct() {
$this->props = array( self::BAR => 'wee' );
}
public function __get($name)
{
return $this->props[$name];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.