2016-01-27 54 views
0

我正在嘗試將Laravel4應用程序升級到Laravel5。如何在Laravel5中使用Request中的常量

在我的Laravel4應用程序中,我通過使用Request類使用app/config/constants.php文件和difine常量。

if (Request::is('admin/*')) 
{ 
    define('PATH', 'admin') 
}else 
{ 
    define('PATH', 'public') 
} 

並在app/start.php中讀取它。

require __DIR__.'/../app/config/constants.php'; 

這些常量用於'app/config'目錄下的控制器,模型,命令,視圖和文件中。

在Laravel5中,如何讀取這個文件?

我想: 1,在config目錄添加它,改變composer.json

"autoload": { 
    "files": [ 
     "config/constants.php" 
    ] 
} 

我得到了錯誤:PHP Fatal error: Class 'Request' not found

2,增加它在config目錄和改變app/Providers/AppServiceProvider.php

public function boot() 
{ 
    require __DIR__.'/../config/constants.php'; 
} 

我得到了同樣的錯誤:PHP Fatal error: Class 'Request' not found

感謝,

+0

你好,也許你應該加'使用Illuminate \ Http \ Request; '進入你的constants.php文件 – dyachenko

+0

我試過了,並且得到了新的錯誤。 'PHP致命錯誤:調用未定義的方法在/ home/hirai/l5mens/mens_webapp/ven中的Illuminate \ Foundation \ Bootstrap \ LoadConfiguration :: retrieveItem() 2360行中的dor/compiled.php migth無法讓請求類的實例... – asiagohan

+0

當你在compiled.php中出錯時試着清除它,運行'php artisan optimize'命令 – dyachenko

回答

0

嘗試\Request代替Request 而你並不需要constants.php 使用\Config::get('constants.CONST_NAME')助手功能添加到作曲家JSON給GE常量的值,你也可以使用const關鍵字來定義常量而不是define()

+0

我試過了,得到同樣的錯誤。 'PHP致命錯誤:未找到'請求'類'。 後來我會重寫代碼使用常量,但我想使用'define'目前,因爲它會花費很多時間。 – asiagohan

相關問題