YII framework configuration
I’m toying with the Yii Framework for some time now and even if i cost me a lot of anger and frustration in the beginning I’m starting to like it more and more, alas I do have to say that the documentation isn’t always that clear and for someone who begins or who’ll write some large applications the configuration file can be a hassle so here’s my solution:
Brake down the configuration file in multiple files, this will give you some speed disadvantage and some will saying that I’m raping Yii framework purpose for speed but at least to me it seems more clear
This is the protected.config/main.php
dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'WEBSITENAME',
'modules'=>array(
'users'=>array(
//sub modules in the module users
'modules'=>array(
'messaging',
'profile',
'dashboard',
)
),
'about',
'forums',
),
// preloading 'log' component active loading
'preload'=>array('log'),
// autoloading model and component classes lazy loading
// I make the difference between CformModel and CActiveRecord
'import'=>array(
'application.models.*',
'application.models.forms.*',
'application.models.database.*',
),
// application components
'components'=>array(
// enable cookie-based authentication
'user'=>array('allowAutoLogin'=>true),
// data relinquished to database.php
// for easy access and usability as also for the future
// installation procedure, it's less to write to a file
'db'=>include(dirname(__FILE__).'/database.php'),
// for a better overview we exculded url routes to a seperate file
'urlManager'=>include(dirname(__FILE__).'/routes.php'),
//authentication component needs data from db for CdbConnection
'authManager'=>array(
'class'=>'CDbAuthManager',
'connectionID'=>'db',
'defaultRoles'=>array('authenticated', 'guest'),
),
//security measures
'request'=>array(
'enableCsrfValidation'=>true,
'enableCookieValidation'=>true,
),
),
// application-level parameters that can be accessed
// using Yii::app()->params['paramName']
// uncomment the following if you want static params in the application
//'params'=>array(include(dirname(__FILE__).'/params.php'))
);
database.php
'CDbConnection', 'connectionString'=>'mysql:host=localhost;dbname=mysql', //'connectionString'=>'pgsql:host=localhost;port=5432;dbname=mysql', 'username' => 'root', 'password' => '', ); ?>
routes.php
'path', // path or get 'urlSuffix' => '', //.html .whateverextentionyouwant 'showScriptName' => true, 'rules'=>array( 'users/recovery/perimeterSecurity/'=>'users/recovery/perimeterSecurity', ), ); ?>
param.php
//nothing in it at the moment
Cherry 10:58 on 30/12/2009 Permalink |
Hi,I’m trying Yii now.Almost everything could be done with Yii.But all the components,those how I configure ,will run.Something ,like,DB session…
well,my english is so poor!
webscriptz 03:32 on 01/01/2010 Permalink |
I’m a bit torn between speed and programming luxury and because sometimes Yii is poorly documented, nice example code but not all the options are given actually sometimes very few.
I’m currently doing models and testing them in Yii and i can’t get my head really around it, Codeigniter was really easy to use in the model logic but now what’s the logic, Model driven or controller driven because of the AR layer and the model sql query which seems implemented in the controllers. I thought controllers were just a gateway between view and model because it’s the model that usually contains all the logic not the controller.