1

我正在尝试在我的类中设置一些默认值,但不能使用 gettext 作为变量值

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

class Test
{
    private $defaultoptions = array('HideOwnPosts' => false,
                                    'HideClickedLinks' => false,
                                    'AutoCommentLinks' => false,
                                    'AutoCommentText' => gettext('exampletext'),
                                    'AutoOpenCount' => 5);
}

我只需要依赖于我使用 gettext für i18n 的用户语言的默认值,所以我也想在这里使用 ist。

http://codepad.org/PTlIelQ4

4

2 回答 2

7

您不能使用“动态”结果 ( gettext()) 启动类成员。只允许使用静态值。如果您需要使用函数的结果来初始化成员,那么您必须在构造函数中进行,而不是在类定义中进行。

于 2012-04-16T21:57:37.520 回答
2

试试这个:

<?php
class Test
{
    private $defaultoptions = array('HideOwnPosts' => false,
                                    'HideClickedLinks' => false,
                                    'AutoCommentLinks' => false,
                                    'AutoCommentText' => false,
                                    'AutoOpenCount' => 5);
    public function __construct() {
        $this->defaultoptions['AutoCommentText'] = gettext('exampletext');
    }
}
于 2012-04-16T22:28:14.753 回答