![](/img/trans.png)
[英]What is the significance of Application key in a Laravel Application?
[英]What is the significance of Application URL in laravel 5
在laravel源碼的Config/app.php
中, url
的實際用途是什么?
它說應用程序URL由artisan command line tool
,那么實際應該是什么呢?
我的意思是它應該是http://mydomainname.com
還是應該是/var/www/laravel/
或/var/www/laravel/public
當前配置
/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| your application so that it is used when running Artisan tasks.
|
*/
'url' => 'http://localhost/',
如果我的應用程序源位於/var/www/
目錄,laravel公用文件夾是/var/www/laravel/public
並且http://mydomainname.com
指向在/var/www/laravel/public
目錄下解析
使用案例:
我將使用laravel schedular
從/app/Console/Kernel.php
將被分派periodic sendMail commands
而這又將會排隊的郵件在數據庫和發送queue listner
比將處理隊列為正常
隊列在localhost(我的本地xamp服務器)上正常工作但是我擔心生產中的url
值應該是什么
當用戶訪問您的網站時,Laravel會從PHP的超級全局($ _SERVER,$ _GET,$ _POST等)獲取有關請求的大量信息。 部分信息是請求URL。
例如,如果您訪問請求方法url()
或path()
,則通過$ _SERVER超全局檢索此信息:
$url = Request::url();
$path = Request::path();
但是,工匠,命令,工作等不具備此信息的好處。 它不是來自用戶的普通HTTP請求,而是從命令行運行的PHP命令。 因此,Laravel需要一種方法來確定應用程序的URL應該是什么。 這是配置值的來源。
在您的示例中,您計划從隊列中發送電子郵件。 想象一下,您需要在其中一封電子郵件中包含指向您網站路線的鏈接,因此您可以使用UrlGenerator獲取鏈接的URL::route('route.name')
( URL::route('route.name')
)。 由於此代碼在命令內運行,並且與任何類型的HTTP請求無關,因此將從您在config/app.php
設置的配置值中選擇基本應用程序URL。
現在應該更清楚一點, url
值應該設置為應用程序的http url,而不是任何類型的目錄路徑。 在您的示例中,它應該是http://mydomainname.com
。
在生產時,應該設置為
'url' => 'http://your-live-domain.com',
正如你所提到的,它將由工匠命令和隊列使用。
您可以利用.env
存儲您的實時域名。 http://laravel.com/docs/5.1#environment-configuration
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.