diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dca45fedc..84650ac9b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### HEAD + +* Use [oscarotero/env](https://github.com/oscarotero/env) instead of `getenv` ([#229](https://github.com/roots/bedrock/pull/233)) + ### 1.5.0: 2016-01-17 * Fix `DISABLE_WP_CRON` setting via ENV variable ([#229](https://github.com/roots/bedrock/pull/229)) diff --git a/composer.json b/composer.json index fd2ccff0a6..1855fd2cbc 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,8 @@ "php": ">=5.5", "composer/installers": "~1.0.12", "vlucas/phpdotenv": "^2.0.1", - "johnpbloch/wordpress": "4.4.1" + "johnpbloch/wordpress": "4.4.1", + "oscarotero/env": "^1.0" }, "extra": { "installer-paths": { diff --git a/composer.lock b/composer.lock index 0194122d95..5eea9dd5aa 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "2d7f68ea3d3e55b20ecfaa5c26a1b8b0", + "hash": "f2fd5f466c373f4e3d82c217c1db1536", + "content-hash": "469a400cb7137f5d23519622277dcc72", "packages": [ { "name": "composer/installers", @@ -189,6 +190,48 @@ ], "time": "2015-06-11 15:15:30" }, + { + "name": "oscarotero/env", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/oscarotero/env.git", + "reference": "8836fc53726466fea17137c2f2622d89de51cd67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oscarotero/env/zipball/8836fc53726466fea17137c2f2622d89de51cd67", + "reference": "8836fc53726466fea17137c2f2622d89de51cd67", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Env": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "Simple library to consume environment variables", + "homepage": "https://github.com/oscarotero/env", + "keywords": [ + "env" + ], + "time": "2015-12-31 12:34:29" + }, { "name": "vlucas/phpdotenv", "version": "v2.2.0", diff --git a/config/application.php b/config/application.php index 194b159388..2818d4e96f 100644 --- a/config/application.php +++ b/config/application.php @@ -2,6 +2,11 @@ $root_dir = dirname(__DIR__); $webroot_dir = $root_dir . '/web'; +/** + * Expose global env() function from oscarotero/env + */ +Env::init(); + /** * Use Dotenv to set required environment variables and load .env file in root */ @@ -15,7 +20,7 @@ * Set up our global environment constant and load its config first * Default: development */ -define('WP_ENV', getenv('WP_ENV') ?: 'development'); +define('WP_ENV', env('WP_ENV') ?: 'development'); $env_config = __DIR__ . '/environments/' . WP_ENV . '.php'; @@ -26,8 +31,8 @@ /** * URLs */ -define('WP_HOME', getenv('WP_HOME')); -define('WP_SITEURL', getenv('WP_SITEURL')); +define('WP_HOME', env('WP_HOME')); +define('WP_SITEURL', env('WP_SITEURL')); /** * Custom Content Directory @@ -39,31 +44,31 @@ /** * DB settings */ -define('DB_NAME', getenv('DB_NAME')); -define('DB_USER', getenv('DB_USER')); -define('DB_PASSWORD', getenv('DB_PASSWORD')); -define('DB_HOST', getenv('DB_HOST') ?: 'localhost'); +define('DB_NAME', env('DB_NAME')); +define('DB_USER', env('DB_USER')); +define('DB_PASSWORD', env('DB_PASSWORD')); +define('DB_HOST', env('DB_HOST') ?: 'localhost'); define('DB_CHARSET', 'utf8mb4'); define('DB_COLLATE', ''); -$table_prefix = getenv('DB_PREFIX') ?: 'wp_'; +$table_prefix = env('DB_PREFIX') ?: 'wp_'; /** * Authentication Unique Keys and Salts */ -define('AUTH_KEY', getenv('AUTH_KEY')); -define('SECURE_AUTH_KEY', getenv('SECURE_AUTH_KEY')); -define('LOGGED_IN_KEY', getenv('LOGGED_IN_KEY')); -define('NONCE_KEY', getenv('NONCE_KEY')); -define('AUTH_SALT', getenv('AUTH_SALT')); -define('SECURE_AUTH_SALT', getenv('SECURE_AUTH_SALT')); -define('LOGGED_IN_SALT', getenv('LOGGED_IN_SALT')); -define('NONCE_SALT', getenv('NONCE_SALT')); +define('AUTH_KEY', env('AUTH_KEY')); +define('SECURE_AUTH_KEY', env('SECURE_AUTH_KEY')); +define('LOGGED_IN_KEY', env('LOGGED_IN_KEY')); +define('NONCE_KEY', env('NONCE_KEY')); +define('AUTH_SALT', env('AUTH_SALT')); +define('SECURE_AUTH_SALT', env('SECURE_AUTH_SALT')); +define('LOGGED_IN_SALT', env('LOGGED_IN_SALT')); +define('NONCE_SALT', env('NONCE_SALT')); /** * Custom Settings */ define('AUTOMATIC_UPDATER_DISABLED', true); -define('DISABLE_WP_CRON', getenv('DISABLE_WP_CRON') == 'true'); +define('DISABLE_WP_CRON', env('DISABLE_WP_CRON') ?: false); define('DISALLOW_FILE_EDIT', true); /**