国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Laravel 5.3 學習筆記之 配置

2024-05-04 23:49:28
字體:
來源:轉載
供稿:網友

1、簡介

Laravel 的所有配置文件都存放在 config 目錄下,每個配置項都有注釋,以保證瀏覽任意配置文件的配置項都能直觀了解該配置項的作用及用法。

2、訪問配置值

你可以使用全局輔助函數 config 在應用的任意位置訪問配置值,該配置值可以文件名+“.”+配置項的方式進行訪問,當配置項沒有被配置的時候返回默認值:

$value = config('app.timezone');

如果要在運行時設置配置值,傳遞數組參數到 config 方法即可:

config(['app.timezone' => 'America/Chicago']);

3、環境配置

基于應用運行的環境不同設置不同的配置值能夠給我們開發帶來極大的方便,比如,我們通常在本地和線上環境配置不同的緩存驅動,這一機制在 Laravel 中很容易實現。

Laravel 使用 Vance Lucas 開發的 PHP 庫 DotEnv 來實現這一機制,在新安裝的 Laravel 中,根目錄下有一個.env.example 文件,如果 Laravel 是通過 Composer 安裝的,那么該文件已經被重命名為 .env,否則的話你要自己手動重命名該文件。

獲取環境變量配置值

在應用每次接受請求時,.env 中列出的所有配置及其值都會被載入到 PHP 超全局變量 $_ENV 中,然后你就可以在應用中通過輔助函數 env 來獲取這些配置值。實際上,如果你去查看 Laravel 的配置文件,就會發現很多地方已經在使用這個輔助函數了:

'debug' => env('APP_DEBUG', false),

傳遞到 env 函數的第二個參數是默認值,如果環境變量沒有被配置將會是個該默認值。

不要把 .env 文件提交到源碼控制(svn 或 git 等)中,因為每個使用你的應用的開發者/服務器可能要求不同的環境配置。

如果你是在一個團隊中進行開發,你需要將 .env.example 文件隨你的應用一起提交到源碼控制中:將一些配置值以占位符的方式放置在 .env.example 文件中,這樣其他開發者就會很清楚運行你的應用需要配置哪些環境變量。

判斷當前應用環境

當前應用環境由 .env 文件中的 APP_ENV 變量決定,你可以通過 App 門面 的 environment 方法來訪問其值:

$environment = App::environment();

你也可以向 environment 方法中傳遞參數來判斷當前環境是否匹配給定值,如果需要的話你甚至可以傳遞多個值。如果當前環境與給定值匹配,該方法返回 true:

if (App::environment('local')) {  // The environment is local}if (App::environment('local', 'staging')) {  // The environment is either local OR staging...}

應用實例也可以通過輔助函數 app 來訪問:

$environment = app()->environment();

4、配置緩存

為了給應用加速,你可以使用 Artisan 命令 config:cache 將所有配置文件的配置緩存到單個文件里,這將會將所有配置選項合并到單個文件從而可以被框架快速加載。

應用一旦上線,就要運行一次 php artisan config:cache,但是在本地開發時,沒必要經常運行該命令,因為配置值經常需要改變。

5、維護模式

當你的應用處于維護模式時,所有對應用的請求都會返回同一個自定義視圖。這一機制在對應用進行升級或者維護時,使得“關閉”站點變得輕而易舉。對維護模式的判斷代碼位于應用默認的中間件棧中,如果應用處于維護模式,則狀態碼為 503 的  MaintenanceModeException 將會被拋出。

要開啟維護模式,只需執行 Artisan 命令 down 即可:

php artisan down

要關閉維護模式,對應的 Artisan 命令是 up:

php artisan up

維護模式響應模板

默認的維護模式響應視圖模板是 resources/views/errors/503.blade.php

維護模式 & 隊列

當你的站點處于維護模式中時,所有的隊列任務都不會執行;當應用退出維護模式這些任務才會被繼續正常處理。

維護模式的替代方案

由于維護模式命令的執行需要幾秒時間,你可以考慮使用 Envoyer 實現 0 秒下線作為替代方案。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 唐河县| 石棉县| 长宁县| 临城县| 布尔津县| 庆云县| 汤原县| 沈阳市| 葵青区| 高淳县| 正蓝旗| 彩票| 峡江县| 雷州市| 仪征市| 井陉县| 文昌市| 万荣县| 高要市| 工布江达县| 通河县| 湟中县| 沈阳市| 通渭县| 浦东新区| 衡山县| 剑阁县| 格尔木市| 高平市| 镶黄旗| 芜湖县| 固始县| 梅河口市| 祁东县| 清苑县| 临湘市| 章丘市| 郧西县| 兴义市| 延安市| 从化市|