我正在努力实现这一目标.我有会话管理器类,它是我为我的框架开发的东西.我需要有唯一的会话密钥,所以不要做这样的事情:
$_SESSION['foo'] = $bar;
我这样做:
Session::set('foo',$bar);
并且set函数将执行以下操作:
$_SESSION[$unique.'foo'] = $bar;
它很好,它的工作原理,但我想像这样使用它:
Session['foo'] = $bar
或者像这样:
Session->foo = $bar
我发现我无法使用 – >在静态对象中,我也不能使用像__set和__get这样的魔术函数.那么,有什么方法可以实现这种行为?
解决方法:
让你的会话类成为单身人士?
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,oop,static-methods,session
来源: https://codeday.me/bug/20190630/1335958.html