YII framework configuration

Sunday, December 20th, 2009

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

Register & Yii projects

Thursday, September 24th, 2009

So, I think ti’s time for some updates on the website.

I has been a bit wild the last 3 weeks. School has started yet again and I had a project to finish not to mention that i’m starting to see through the Yii framework structure. I’ve been writing diagrams for different project that I have in my head too and that takes a lot of time. Besides figuring out how I want the database to be and my database system had schifted, alto mysql is the favorite, a friend encouraged that i take a look to postgresql. Yii has given me a hard time to basically because it’s been a bit of a struggle to change coding methodes in function of Yii and then I don’t start talking about the RBAC system it has build-in. It took every neuron to understand everything form begin to end. Models was also something, Yii has two model types and the active records model is something to understand, I was a bit lost at how I would have to write my own AR functions but thanks to the forums I got that figured out too. All in all everything is good at the moment.

I’ll be uploading some pictures of the system I wrote recently so you can get some sneaky peaks at it but unfortunately it won’t be open source system.

PHP app installer

Monday, February 9th, 2009

The last 2 to 3 days I’ve been working on a system that can be easely integrated into any application so that it can install itself on a server. I’ve added some ideas to suit myself, one is that data is installed to 2 databases. One for the users and one for the data of the users.

Why? Because you can scale a lot easier if parts are in other databases. And it includes some of my projects that I want to start, see Google, users tend to user a website more when they are registerated but what if, like google, I register for Gmail and I can have Google docs with the same account but not the annoying registration? That is what I want to do.

Great and Free? …..I’m not yet at that stage

TODO:

  • The things that are left for me to do is basically that I scale everything more
  • Maybe port to smarty all the vars and everything
  • Maybe make a installer creator script for the people who want to implement my script.
  • Do something to the mysql files
  • Make more comments in the code
  • Document the script

About Me

Here I'll share my knowledge, discovery and experience related to my hobby and work. Most articles on this site are related to blog design, short reviews, tips and make money online. More

Find entries :