I know that I can access the environment value using the global $env variable, but is there the right way to get this value?
Asked
Active
Viewed 4.5k times
3 Answers
83
You're in luck - this was just added in Beta 4 - see here for details
Added App::environment method.
Edit: these are now a number of various ways to get the environment variable as of Laravel 4.1
App::environment()
app()->environment()
app()->env
$GLOBALS['env'] // not recommended - but it is possible
You can also specifically check for if the current environment is set to 'local'
App::isLocal()
app()->isLocal()
You can also specifically check for if the current environment is set to 'testing'
App::runningUnitTests()
app()->runningUnitTests()
Laurence
- 57,126
- 20
- 168
- 205
-
Hmmm, don't have the Beta 4 yet, do you know how I can upgrade? – duality_ Feb 18 '13 at 16:48
-
simple - run "composer update". Then read the 2nd half of this answer - which talks about how to update your app install aswell: http://stackoverflow.com/q/14909192/1317935 – Laurence Feb 18 '13 at 16:53
17
In Laravel 4 and 5, the Laravel official docs suggest using:
$environment = App::environment();
You may also pass arguments to the environment method to check if the environment matches a given value:
if (App::environment('local'))
{
// The environment is local
}
if (App::environment('local', 'staging'))
{
// The environment is either local OR staging...
}
Justin
- 24,798
- 16
- 106
- 125