Laravel:课堂上没有公共字符串?

时间:2017-04-27 15:30:15

标签: php laravel function class

我想在函数内部设置一些字符串以供进一步使用,但是Laravel只给了我一个“Whooops”?!

class MyController extends Controller

{

    public $server = $_SERVER['SERVER_NAME']; <-----------------

    public function logger()

        {

            // do something

        }


    public function info()

        {

            // do something

        }

}

即使没有公众也不行。

有什么想法吗?非常感谢你!

1 个答案:

答案 0 :(得分:2)

类属性可能只是静态值,因此您可以这样做:

public $a = '123';

但不是这样:

public $b = $_SERVER['foo'];

如果你想要后者,你必须在你的构造函数中明确地设置它:

public $b = null;
public function __construct()
{
    $this->b = $_SERVER['foo'];
}

在PHP的最新版本中(不确定此功能的开始位置,可能是v7.0),您还可以使用等同于静态值的表达式:

public $c = '123' . '456';