一個類中: protected $config_file = DB_PATH . 'db.conf';
php
就出現了錯誤,php5.4版本的:
語法錯誤: unexpected '.', expecting ',' or ';'
但在5.6版本上沒有出現錯誤express
這個是PHP版本支持的問題。框架
PHP 5.6及其以上版本是支持這樣處理的。除了定義類的屬性,在定義常量,設定函數或方法的默認參數等只接受靜態值(static values
)的地方,都支持靜態表達式(static expressions
),字符串拼接(.
)是其中一個所支持的操做。ide
在以前的 PHP 版本中, 必須使用靜態值來定義常量,聲明屬性以及指定函數參數默認值。 如今你可使用包括數值、字符串字面量以及其餘常量在內的數值表達式來 定義常量、聲明屬性以及設置函數參數默認值。函數
見:http://cn2.php.net/manual/zh/migration56.new-features.php#migration56.new-features.const-scalar-exprs.net
常量是在編譯時(compile time)處理的,DB_PATH
在框架啓動的時候確定已經申明,應該不會沒有解析。scala