Let’s say you have a given directory with possible configurations and you want to create a environment file for your laravel app. Within this directory are several .php files containing things like this:
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
| This value is the name of your application. This value is used when the
| framework needs to place the application's name in a notification or
| any other location as required by the application or its packages.
|
*/
'name' => env('APP_NAME', 'Laravel app'),
/*
|--------------------------------------------------------------------------
| Application Environment
|--------------------------------------------------------------------------
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services your application utilizes. Set this in your ".env" file.
|
*/
'env' => env('APP_ENV', 'production'),
A proper environment file would look like this:
APP_NAME=Laravel App APP_ENV=production
We have to grep through all .php files, search for only UPPER_CASE strings and write them into a new file called ‘environment’:
% grep -oP '\b[A-Z_]*[A-Z]+[A-Z_]*\b' *.php app.php:APP_NAME app.php:APP_ENV
Which is fine if you want to start from scratch or want to build a example file with a lot of comments. As you can see, every line contains the source file. Turn this off with ‘-h’
% grep -h -oP '\b[A-Z_]*[A-Z]+[A-Z_]*\b' *.php APP_NAME APP_ENV