通过参数在Yii中运行

时间:2012-12-04 16:26:59

标签: yii

我在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;
}

但有没有更简单的方法来格式化原始方法以避免语法错误?

由于

2 个答案:

答案 0 :(得分:1)

您正在调用参数列表中的函数。 (Yii :: app())这是根据PHP中不允许的错误。

  

默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用。

来自http://php.net/manual/en/functions.arguments.php

您自己的解决方案将是一个很好的解决方案。

答案 1 :(得分:0)

您可以直接传入“500100”作为您功能的默认值吗? 如果参数值在您的应用程序中发生变化,那么这显然不是正确的方法。但是如果它是一个常量,你可以将该值作为默认值传递给你的函数。