【发布时间】:2011-04-06 19:59:57
【问题描述】:
我有一个全局变量 $config,现在我有一个类,我想使用 config 中的值作为类方法的默认参数,例如函数 f(var=$config['val']){} 将这个任务有用吗?
【问题讨论】:
-
补充一些细节,上面的表述不清楚。
我有一个全局变量 $config,现在我有一个类,我想使用 config 中的值作为类方法的默认参数,例如函数 f(var=$config['val']){} 将这个任务有用吗?
【问题讨论】:
这个任务有用吗?
不,不会。
无法在函数定义中自动执行此操作。
你必须定义一个空的默认值:
function f($var = null) { .... }
如果 $var 为 null,则使用方法内的配置数组中的值填充。
【讨论】:
没有。我要做的是将 $config 作为字段添加到类中,如下所示:
class MyAwesomeClass {
public $config;
public function f() {
...
}
}
$cls = new MyAwesomeClass;
$cls->config = $GLOBALS['config'];
$cls->f();
【讨论】: