Sau này khi triển khai hệ thống lên các môi trường như staging, production thì các bạn nên hiểu để deploy hệ thống. Tuy nhiên trong giai đoạn development các bạn có thể bỏ qua cũng được.
I. Tổng quan
Tất cả config của một dự án laravel sẽ được lưu trữ ở folder config.

Để xem các thông tin về configuration
php artisan about
Để xem cụ thể thông tin về environment
php artisan about --only=environmentĐể xem details một config cụ thể
php artisan config:show databaseII. Về Environment Configuration
1. Giới thiệu chung
Ở root folder các bạn sẽ thấy 2 file
- .env
- .env.example
.env là file mà hệ thống sử dụng mặc định.
Tất cả các thông tin về môi trường của hệ thống như database, cache, mail …
Tùy mỗi môi trường của developer mà thông tin trong file này sẽ khác nhau. Vì vậy đừng commit file này lên source chung của dự án khi làm việc nhóm. Thêm nữa là thông tin trong file này là nhạy cảm, rò rỉ ra ngoài là không tốt.
Các bạn có thể commit file .env.example lên, với mục đích chỉ ra các configuration mẫu để các developer khác follow theo.
Tuy không được khuyến khích commit file .env lên nhưng nếu cần thiết các bạn có thể encrypt lại sau đó commit lên.
2. Tạo .env cho các môi trường khác
Mặc định thì hệ thống sử dụng .env và APP_NAME=local.
Tuy nhiên nếu phát sinh môi trường stating chẳng hạn, các bạn có thể hướng dẫn cho hệ thống biết rằng nó sẽ phải load file .env.staging thay vì file .env
Để kiểm tra, đơn giản vào file: <Root_folder>/routes/web.php, các bạn thêm code
use Illuminate\Support\Facades\App;
$environment = App::environment();
dd($environment);
Rồi reload: http://127.0.0.1:8000/
Nếu thấy show ra staging thì có nghĩa các bạn đã change environment chính xác rồi nhé.
3. Lấy ra giá trị của các config
Oke, để lấy ra giá trị các config (trong thư mục app/config) thì làm như sau
use Illuminate\Support\Facades\Config;
$value = Config::get('app.timezone');
Hoặc
use Illuminate\Support\Facades\Config;
$value = Config('app.timezone');Mình thích dùng cách đầu tiên, vì đọc nó rõ nghĩa hơn.
Ví dụ, trong file config/app.php có variable timezone

Mình sử dụng file <Root_folder>/routes/web.php để demo nhé. Muốn truy xuất giá trị của timezone, thì đơn giản thêm code vào như sau
use Illuminate\Support\Facades\Config;
$environment = App::environment();
$value = Config::get('app.timezone');
dd($value);
Lại reload lại http://127.0.0.1:8000/, chúng ta sẽ lấy được giá trị của timezone

Hoặc trong config/database.php, các bạn thấy variable “connections”

Muốn truy xuất giá trị, đơn giản làm như thế này
use Illuminate\Support\Facades\Config;
$environment = App::environment();
$value = Config::get('database.connections');
dd($value);Kết quả như này là ok

Bài này tới đây thôi, chúng ta sẽ tiếp tục ở phần 2 nhé.
See You later !