我一直在研究是否可以像C#语言一样在PHP类中使用属性,我发现这些问题提供了一些很好的答案和指引,但并没有真正帮助到我:
尽管,正如我所说,这些提供了很好的答案,但我仍然不能决定如何做,例如,我想能够做这样的事情:
class Foo
{
public $bar
{
get { return $this->bar; }
set { $this->bar = value; }
}
}
但我无法做到!
在PHP的限制条件下,最好的方法是什么?
我能想到的一种方法是这样的:
class user
{
private static $link;
private static $init;
private function __construct ()
{
global $link;
static::$link = $link;
}
public static function __INIT__ ()
{
return static::$init = (null === static::$init ? new self() : static::$init);
}
public static $username;
public function username( $value = '' )
{
if ( $value == '' || empty ( $value ) || !$value )
return static::$username;
else
static::$username = $value;
}
}
setUsername
和getUsername
有什么问题吗? - S.PolssetUsername($variable)
和一个getUsername()
,而不是试图将函数用作getter和setter(在我看来这是错误的)。在我看来,一个函数应该只有一个职责。 - S.Pols