Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在类中设置变量时使用外部函数_Php_Class_Gettext - Fatal编程技术网

Php 在类中设置变量时使用外部函数

Php 在类中设置变量时使用外部函数,php,class,gettext,Php,Class,Gettext,我试图在类中设置一些默认值,但无法将gettext用作变量值 为什么这个代码会给我一个错误 class Test { private $defaultoptions = array('HideOwnPosts' => false, 'HideClickedLinks' => false, 'AutoCommentLinks' =>

我试图在类中设置一些默认值,但无法将gettext用作变量值

为什么这个代码会给我一个错误

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');
    }
}