我正在使用cakephp,当我在类变量中使用国际化时出现错误。
我的课程是:
class Util extends Object
{
public static $options = array(
'Traffic Limit' => __('Traffic Limit'),
'Uptime Limit' => __('Uptime Limit'),
'IP Address' => __('IP Address'),
'MAC Address' => __('MAC Address')
);
}
当我在类varriable中使用国际化时,它会显示错误:
Error: syntax error, unexpected '(', expecting ')'
我也尝试'true'作为国际化的第二个参数,但我收到了同样的错误。
当我在类方法
中使用此变量和国际化时public static function getWispUserAttributeNames()
{
$options = array(
'Traffic Limit' => __('Traffic Limit'),
'Uptime Limit' => __('Uptime Limit'),
'IP Address' => __('IP Address'),
'MAC Address' => __('MAC Address')
);
return $options;
}
它完美无缺。
是否有办法在类变量中使用国际化?
答案 0 :(得分:0)
class Util extends Object
{
public $options = array(
'Traffic Limit' => __('Traffic Limit'),
'Uptime Limit' => __('Uptime Limit'),
'IP Address' => __('IP Address'),
'MAC Address' => __('MAC Address')
);
}
我认为你不应该对变量使用“static”。
答案 1 :(得分:0)
你不能在PHP的初始值设定项中使用复杂的表达式,所以下一个表达式是错误的,无论它是否静态:
public static $options = array(
'Traffic Limit' => __('Traffic Limit'),
'Uptime Limit' => __('Uptime Limit'),
'IP Address' => __('IP Address'),
'MAC Address' => __('MAC Address')
);
但你可以为静态案例做一个技巧:
描述课程后:
class Util extends Object
{
public static $options = array();
}
//do assign, at the bottom of file
Util::$options = array(
'Traffic Limit' => __('Traffic Limit'),
'Uptime Limit' => __('Uptime Limit'),
'IP Address' => __('IP Address'),
'MAC Address' => __('MAC Address')
);