1

我不知道为什么会出现此错误:

解析错误:语法错误,意外的 '.',在第 5 行的 Settings.php 中需要 ',' 或 '

这是代码

class Settings
{
    public $appDir = 'app';
    public  $controllersDir = $appDir . '/controllers';

}
4

4 回答 4

2

类属性中不能有变量。

class Settings
{
    public $appDir = 'app';
    public  $controllersDir = 'app/controllers';

}
于 2012-06-25T09:26:13.487 回答
1

您不能在类定义中执行任意代码。您只能声明值(具有静态信息的静态字符串、数字和数组)。

如果要动态添加值,则必须在构造函数中这样做。

class Settings 
{
    public $appDir = 'app';
    public $controllerDir = '/controllers';

    public function __construct()
    {
        $this->controllerDir = $this->appDir . $this->controllerDir;    
    }    
}
于 2012-06-25T09:28:43.713 回答
0

我相信你想要的是这个

class Settings
{
    public $appDir = 'app';
    public  $controllersDir;


    function __construct(  ) {
        $this->$controllersDir = $this->appDir . '/controllers';
    }
}

如果我没记错的话,你不能有依赖于另一个变量的变量初始化。

于 2012-06-25T09:27:49.290 回答
0

无论如何,这样做是不好的做法。值不应在声明中定义......您应该使用函数 getControllerDir 返回两个私有属性的连接。

于 2012-06-25T09:28:28.333 回答