可以覆盖超级全局$ _SESSION吗?
|
用专门的会话对象覆盖超全局变量“ 0”是否安全?
class SessionObject implements ArrayAccess { ... }
...
// Session data has just been deserialised from store.
$_SESSION = new SessionObject( $session_data );
...
// Using session object...
$_SESSION[\'key\'] = 27;
$x = $_SESSION->get_data(\'key2\', \'default-value\');
没有找到相关结果
已邀请:
3 个回复
蔬谢窗港
,这将使将来不得不处理您的代码的某些程序员感到困惑。 我认为以这种方式滥用ѭ0super的超全局性是一种骇人听闻的行为,也是一种令人不愉快的行为。 在我看来,更好的方法是编写一个带有静态方法的类来获取和设置数据:
然后可以使用
或
和
访问它。 由于类本质上是全局的,因此您可以从代码中的任何位置访问它。这就不足为奇了,并且可以减少沿线的混乱。 如果出于某些设计原因确实想使用对象方法,则最好实现Singleton模式。
缔恃钨
墩瓣茅械