我正在努力实现这一目标。我有 session 管理器类,它是我为我的框架开发的。我需要有唯一的 session key ,所以不要做这样的事情:
$_SESSION['foo'] = $bar;
我这样做:
Session::set('foo',$bar);
set 函数会做这样的事情:
$_SESSION[$unique.'foo'] = $bar;
它很好用,但我想像这样使用它:
Session['foo'] = $bar
或者像这样:
Session->foo = $bar
我发现我不能在静态对象中使用->,我也不能使用像__set 和__get 这样的魔法函数。那么,有什么办法可以实现这种行为吗?
最佳答案
让你的 session 类成为单例?
class Session
{
public static $instance;
public static function init()
{
self::$instance = new Session();
}
public function __get($key)
{
return $_SESSION[$key];
}
}
然后像这样使用它:
echo(Session::$instance->foo);
关于php - 静态对象中的魔术方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8521486/