簡體   English   中英

laravel 5中應用程序URL的含義是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM