Revision #4 was created by nancoder on Oct 5, 2010, 7:07:11 AM.
Misspelling: Replaced "enviroment" to "environment"
Title
Use different environments (development, production, etc) in your app with EASY Environment Class
Content
[...]
Instructions
============
Configuring the Easy Environment class
-------------------------------------
1. Create a new file in the config folder, name it 'environment.php'.
2. Paste the following code in your 'environment.php' file.
```php
/**
* This class helps you to config your Yii application
* environment.
* Any comments please post a message in the forum
* Enjoy it!
*
* @name Environment
* @author Fernando Torres | Marciano Studio
* @version 1.0
*/
class Environment {
const DEVELOPMENT = 100;
[...]
/**
* Initilizes the Environment class with the given mode
* @param constant $mode
*/
[...]
/**
* Sets the configuration for the choosen environment
* @param constant $mode
*/
[...]
/**
* Main configuration
* This is the general configuration that uses all environments
*/
private function _main() {
);
}
}// END Environment Class
```
3. Change the configuration for each environment:
* DEVELOPMENT
* TEST
[...]
```php
// Change the following paths if necessary
require_once(dirname(__FILE__).'/protected/config/environment.php');
$environment = new Environment(Environment::DEVELOPMENT) ;
$yii = dirname(__FILE__).'/../../framework/yii.php';
defined('YII_DEBUG') or define('YII_DEBUG',$environment->getDebug());
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', $environment->getTraceLevel());
require_once($yii);
Yii::createWebApplication($environment->getConfig())->run();
```
Changing your environment
------------------------
5. To change the environment just you have to change the following code:
```php
//For development
$environment = new Environment(Environment::DEVELOPMENT);
//For test
$environment = new Environment(Environment::TEST);
//For stage
$environment = new Environment(Environment::STAGE);
//For production
$environment = new Environment(Environment::PRODUCTION);
```
Get your actual environment
--------------------------
6. You can check inside your application in what environment you are working with the following code:
```php
// This will return the environment code number
$currentEnvironment = Yii::app()->getParams()->environment;
// Compare if the current environment is lower than production
if($currentEnvironment < Environment::PRODUCTION){
//Your code here...
}else{
//Your code here...
}