I have a custom CMS that I am writing from scratch in Laravel and want to set env values i.e. database details, mailer details, general configuration, etc from
Since Laravel uses config files to access and store .env data, you can set this data on the fly with config() method:
config(['database.connections.mysql.host' => '127.0.0.1']);
To get this data use config():
config('database.connections.mysql.host')
To set configuration values at runtime, pass an array to the
confighelper
https://laravel.com/docs/5.3/configuration#accessing-configuration-values