我在帮助程序文件中使用带有静态方法的“Globals”类来管理应用的所有全局变量。这是我所拥有的:
globals_helper.php(在帮助程序目录中)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// Application specific global variables
class Globals
{
private static $authenticatedMemberId = null;
private static $initialized = false;
private static function initialize()
{
if (self::$initialized)
return;
self::$authenticatedMemberId = null;
self::$initialized = true;
}
public static function setAuthenticatedMemeberId($memberId)
{
self::initialize();
self::$authenticatedMemberId = $memberId;
}
public static function authenticatedMemeberId()
{
self::initialize();
return self::$authenticatedMemberId;
}
}
然后将其自动加载到自动加载文件中.php
$autoload['helper'] = array('globals');
最后,对于代码中任何位置的使用,您可以执行此操作来设置变量:
Globals::setAuthenticatedMemeberId('somememberid');
这是要读它:
Globals::authenticatedMemeberId()
注意:我之所以将初始化调用保留在 Globals 类中,是为了让将来能够根据需要使用该类的初始值设定项进行扩展。如果您不需要对通过 setters/getters 设置和读取的内容进行任何控制,也可以公开这些属性。