All the required configurations can be found in config
folder and .env
file.
Environment file can contain your confidential info, database credentials, api keys etc., because it is placed in .gitignore
, therefore it will not be published on git, nor be publicaly available.
Properties inside are writted in the key=value
way.
So how are we suppose to use the .env
file values? Global function env
is used inside of configuration files in order to get the value from .env
.
...
"port": env('PORT', 3000),
...
When we try to get the port property from the config file, it will first try to get PORT
key from .env
file, if there isnt .env
file, or the PORT
key isnt set, second argument represents the default value, so the 3000
would be used instead.
To set the port
value in the .env
, it should look like
PORT=80
Config
service is used to get data from config files. You can access it by using its namespace use('Config');
.
So lets say that we are looking for the application port. Path to that config value should be joined with .
(dot).
First, we are looking for the file name where property is stored, and in this case, its app.js
, we will only use the name of the file, without the extension.
After that, every level in config file object should be separated with dot.
Getting the port value:
let Config = use('Config');
let port = Config.get('app.port');
What if we have multiple levels like:
database.js > adapter > mysql > user
let Config = use('Config');
let user = Config.get('database.adapter.mysql.user');