在调试期间,我已经删除了类,保留了我无法在类之外或在(在return语句中)使用
获取值的问题_SITE::$cfg;
虽然
self::$cfg
是正确的
class _SITE {
public static $cfg;
public static function cfg_add($newcfg) {
self::$cfg = $newcfg;
return self::$cfg;
}
}
感谢收到的答案,我需要澄清这个值需要更改/添加为数组。 修改后的示例 - 所以它是一个静态类,它使用_SITE :: $ cfg访问并使用_SITE :: cfg_add
更新答案 0 :(得分:0)
你不能直接获得类_SITE实例的值,因为你从未为该实例设置一个值。
但是要根据您的代码获取$cfg
的值,并注意方法cfg_add()
已分配数组值。
以这种方式做到
class _SITE {
public static $cfg;
public function __construct($value=array()) {
self::$cfg = $value;
}
public static function cfg_add() {
self::$cfg = array(1, 2, 3);
return self::$cfg;
}
}
$test = _SITE::cfg_add();
foreach ($test as $key => $value) {
echo "$value";
}
或以这种方式
$obj = new _SITE(array(1,2,3));
foreach ($obj::$cfg; as $key => $value) {
echo "$value";
}
答案 1 :(得分:0)
除了创建此类的实例之外别无选择,因为它包含控制器引用的数据,它继承了模型类。