我的问题很简单:在PHP OOP我想要的值对象属性要由函数返回。具体来说:我希望将字符串与gettext一起翻译。但是似乎属性的值必须是字符串,数字或数组,而不是函数。
我的代码与此类似:
<?php
class Bar extends Foo {
public $baz = array('lorem' => __('ipsum'));
// other code
?>
如果您查看有关的手册properties
,则会看到:
该声明可以包括一个初始化,但是此初始化必须是一个常量值-也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。
因此,在声明属性时不能使用函数。
但是,可以在其他位置设置该值,因此在您的情况下,可以在构造函数中进行设置:
<?php
class Bar extends Foo {
public $baz;
function __construct()
{
$this->baz = array('lorem' => __('ipsum'));
}
// other code
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句