What is the best practice for adding constants in laravel? (Long List)
For most constants used globally across the application, storing them in config files is sufficient. It is also pretty simple
Create a new file in the config
directory. Let's call it constants.php
In there you have to return an array of config values.
return [ 'options' => [ 'option_attachment' => '13', 'option_email' => '14', 'option_monetery' => '15', 'option_ratings' => '16', 'option_textarea' => '17', ]];
And you can access them as follows
Config::get('constants.options');// or if you want a specific oneConfig::get('constants.options.option_attachment');
I use aliased class constants :
First, create your class that contain your constants : App/MyApp.php
for exemple
namespace App;class MyApp { const MYCONST = 'val';}
Then add it to the aliased classes in the config/app.php
'aliases' => [ //... 'MyApp' => App\MyApp::class,
Finally use them wherever you like (controllers or even blades) :
MyApp::MYCONST
Your question was about the 'best practices' and you asked about the '.env method'.
.env is only for variables that change because the environment changes. Examples of different environments: test, acceptance, production.
So the .env contains database credentials, API keys, etc.
The .env should (imho) never contain constants which are the same over all environments. Just use the suggested config files for that.