Laravel configuration, the right way
source link: https://barryvanveen.nl/articles/23-laravel-configuration-the-right-way
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Laravel configuration, the right way
Feb 19, 2016
In this article I want to show you the best practices of configuring your Laravel application.
DotEnv
Laravel uses dotenv to set up the configuration of your application. Basically this means that you create a file called .env
which contains all sensitive data. Think of stuff like usernames, passwords and API tokens that you don't want to upload to your public repository. You don't add this file to your repository, the whole point is that you keep it private.
A good sample .env
file can be in the Laravel project.
Remember to put quotes around values with spaces! Not doing this triggers a ReflectionException "Class log does not exist".
# bad, wil trigger exception
name=Barry van Veen
# good
name="Barry van Veen"
Configuration files
In Laravel 5 your project will have a /config folder containing all configuration files. In these files you can access values from .env
using the env()
helper function.
The installation has included a number of files for you. With these you can configure stuff like the database, mail and caching. If you want to include your own file that is very easy: just create a file in /config and make it return an array.
I have created /config/custom.php
for my own configuration. This keeps the other files nice and clean.
<?php
return [
/*
|--------------------------------------------------------------------------
| Google Analytics code
|--------------------------------------------------------------------------
*/
'google_analytics_code' => env('GA_CODE'),
/*
|--------------------------------------------------------------------------
| Nested values
|--------------------------------------------------------------------------
*/
'nested_values' => [
'first' => env('NESTED_VALUES_FIRST'),
'second' => env('NESTED_VALUES_SECOND'),
],
];
Accessing configuration variables
So, now that your configuration is set up it is time to use these values in your application code. This can be done with the config()
helper function.
Accessing my custom Google Analytics code can be done using:
config('custom.google_analytics_code');
In the same way we can access nested values like this:
config('custom.nested_values.first')
Keep on reading
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK