我在main.php文件中设置了这个:
'params'=>array(
'TOTAL_ACCOUNT_NUMBER'=>'500100'
)
我可以使用Yii :: app() - > params ['TOTAL_ACCOUNT_NUMBER']
成功访问数据我想将此默认传递给类似的方法:
public function myMethod($acctNum=Yii::app()->params['TOTAL_ACCOUNT_NUMBER']) {
...
}
这会产生语法错误:unexpected'('。
我可以创建一个解决方法,例如:
public function myMethod($acctNum=null) {
$acctNum = !isset($acctNum) ? Yii::app()->params['TOTAL_ACCOUNT_NUMBER'] : $acctNum;
}
但有没有更简单的方法来格式化原始方法以避免语法错误?
由于
答案 0 :(得分:1)
您正在调用参数列表中的函数。 (Yii :: app())这是根据PHP中不允许的错误。
默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用。
来自http://php.net/manual/en/functions.arguments.php
您自己的解决方案将是一个很好的解决方案。
答案 1 :(得分:0)
您可以直接传入“500100”作为您功能的默认值吗? 如果参数值在您的应用程序中发生变化,那么这显然不是正确的方法。但是如果它是一个常量,你可以将该值作为默认值传递给你的函数。