2017-09-27 144 views
0

我想聲明並初始化PHP類常量(方法外部)中的json文件的路徑。但是,看起來我不能在方法外調用storage_path()函數。當聲明PHP類常量時,我​​可以使用storage_path()嗎?

class MainController extends Controller{ 

    const PATH_TO_JSON_DATA = storage_path().'data/data.json'; // invalid expression 

    public function renderPage(){ 

     dd(storage_path().'data/data.json'); // valid expression 

    } 
} 

是否可以避免在方法內初始化路徑?

回答

6

在控制器的構造函數中初始化私有屬性的路徑。

class MainController extends Controller 
{ 

    private $jsonPath; 

    public function __construct() 
    { 
     $this->jsonPath = storage_path().'data/data.json'; 
    } 

} 

按照PHP Manual

類常量必須是常量表達式,而不是(例如) 變量,屬性,或一個函數調用。

相關問題