Using the configuration file, explain what can be configured.

17 0
14
Viewed: 100 350 times
Version: Unknown (update)
Category: Tutorials
    Written by: atrandafir atrandafir
    Updated by: Yang He Yang He
    Created: Jan 10, 2010
    Updated: 14 years ago

    You are viewing revision #1 of this wiki article.
    This version may not be up to date with the latest version.
    You may want to view the differences to the latest version.

    next (#2) »

    The configuration file:

    	<?php
    
    	// uncomment the following to define a path alias
    	// Yii::setPathOfAlias('local','path/to/local-folder');
    
    	// This is the main Web application configuration. Any writable
    	// CWebApplication properties can be configured here.
    	return array(
    		
    		// the base path to the protected folder
    		// access it using Yii::app()->basePath
    		'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    		
    		// name of application
    		// access it using Yii::app()->name
    		'name'=>'My website',
    		
    		// default controller that will be executed when running the application
    		'defaultController'=>'site', 
    		
    		// source language of the application
    		'language'=>'es',
    		
    		// charset to use
    		'charset'=>'utf-8',
    
    		// preloading application components
    		'preload'=>array('log'),
    
    		// autoloading classes
    		'import'=>array(
    			'application.models.*',
    			'application.components.*',
    		),
    
    		// application-level parameters that can be accessed
    		// using Yii::app()->params['paramName']
    		'params'=>array(
    			'adminEmail'=>'info@example.com',
    		),
    		
    		// Note: you can also separate your configuration file into
    		// more files, for example: db.php, params.php and so on.
    		// You can do it like this example:
    		// 'params'=>require(dirname(__FILE__).'/params.php'),
    		// and inside the params.php you will return the array:
    		// return array('adminEmail'=>'info@example.com');
    
    		// configuration of application components
    		'components'=>array(
    		
    			// assets, see http://www.yiiframework.com/doc/api/CAssetManager
    			'assetManager'=>array(
    				// change the path on disk
    				'basePath'=>dirname(__FILE__).'/../../assets/',
    				// change the url
    				'baseUrl'=>'/web/assets/'
    			),
    			
    			// logging
    			'log'=>array(
    				// class of logger
    				'class'=>'CLogRouter', 
    				// where to store logs?
    				'routes'=>array( 
    					array(
    						// store on file, other options are available
    						'class'=>'CFileLogRoute', 
    						// what to store on file? error and warning, info and trace can be added here
    						'levels'=>'error, warning', 
    					),
    				),
    			),
    			
    			// user
    			'user'=>array(
    				// enable cookie-based authentication
    				'allowAutoLogin'=>true,
    				// set the url where user must be redirected if authentication needed
    				// use null to force 403 HTTP error 
    				'loginUrl'=>null,
    				// set here the name of a class
    				// that extends CWebUser and it is stored in
    				// protected/components/<classname>
    				// see: http://www.yiiframework.com/forum/index.php?/topic/5610-extend-cwebuser/
    				'class' => 'WebUser',
    			),
    			
    			// database
    			'db'=>array(
    				// using mysql
    				'connectionString'=>'mysql:host=example.com;dbname=my_db',
    				'username'=>'my_user',
    				'password'=>'my_password',
    				// set the charset of the connection
    				'charset'=>'utf8',
    				// using sqlite
    				// 'connectionString'=>'sqlite:'.dirname(__FILE__).'/../data/blog.db',
    			),
    			
    			// url 
    			'urlManager'=>array(
    				// the URL format. It must be either 'path' or 'get'.
    				// path: index.php/controller/action/attribute/value
    				// get: index.php?r=controller/action&attribute=value
    				'urlFormat'=>'path',
    				// show www.example.com/index.php/controller/action 
    				// or just www.example.com/controller/action
    				'showScriptName' => true,
    				// rules to redirect a specific url to the controller you want
    				// see: http://www.yiiframework.com/doc/guide/topics.url
    				'rules'=>array(
    					// www.example.com/home instead of www.example.com/site/index
    					'home'=>'site/index',
    					'post/<id:\d+>'=>'post/show',
    				),
    			),
    		),
    	);
    	?>