Php 在类中设置变量时使用外部函数
我试图在类中设置一些默认值,但无法将gettext用作变量值 为什么这个代码会给我一个错误Php 在类中设置变量时使用外部函数,php,class,gettext,Php,Class,Gettext,我试图在类中设置一些默认值,但无法将gettext用作变量值 为什么这个代码会给我一个错误 class Test { private $defaultoptions = array('HideOwnPosts' => false, 'HideClickedLinks' => false, 'AutoCommentLinks' =>
class Test
{
private $defaultoptions = array('HideOwnPosts' => false,
'HideClickedLinks' => false,
'AutoCommentLinks' => false,
'AutoCommentText' => gettext('exampletext'),
'AutoOpenCount' => 5);
}
我只需要依赖于我使用的gettext für i18n的用户语言的默认值,所以我也希望在这里使用user ist
您不能启动具有“动态”结果的类成员(
gettext()
)。只允许使用静态值。如果需要使用函数的结果来初始化成员,则必须在构造函数中而不是在类定义中进行初始化。不能使用“动态”结果来初始化类成员(gettext()
)。只允许使用静态值。如果需要使用函数的结果初始化成员,则必须在构造函数中进行初始化,而不是在类定义中进行初始化。尝试以下操作:
<?php
class Test
{
private $defaultoptions = array('HideOwnPosts' => false,
'HideClickedLinks' => false,
'AutoCommentLinks' => false,
'AutoCommentText' => false,
'AutoOpenCount' => 5);
public function __construct() {
$this->defaultoptions['AutoCommentText'] = gettext('exampletext');
}
}
试试这个:
<?php
class Test
{
private $defaultoptions = array('HideOwnPosts' => false,
'HideClickedLinks' => false,
'AutoCommentLinks' => false,
'AutoCommentText' => false,
'AutoOpenCount' => 5);
public function __construct() {
$this->defaultoptions['AutoCommentText'] = gettext('exampletext');
}
}