如何在MODE_DEFAULT中使用静态函数中的变量

时间:2017-11-03 09:50:59

标签: php slim-3

$message = 'Email already taken';
class EmailUniqueException extends ValidationException
{

public static $defaultTemplates = [

    self::MODE_DEFAULT => [

      self::STANDARD => 'put $message here',
    ],


];
}

我有上面的代码,在self :: Standard我可以轻松地将我的错误消息作为字符串,但我想使用变量消息,因为特定于语言的应用程序可以提供另一种语言文本。

1 个答案:

答案 0 :(得分:0)

我不熟悉,但您可以使用global在您的班级中使您的变量可访问:

$message = 'Email already taken';

class EmailUniqueException extends ValidationException
{

    public static $defaultTemplates = [
        global $message;    

        self::MODE_DEFAULT => [
            self::STANDARD => $message,
        ],
    ];
}

请记住,这很难看,你应该使用一些配置/翻译文件来检索信息。

对于翻译,您还可以在应用程序中使用一个包(laravel的一部分):https://github.com/illuminate/translation