I’m about to program a multi-site YII application that can be used to organise business running events (company and runner registration, invoicing, creating teams etc.).
I want to have a common core (Models, Controllers, Views etc.) with basic functionality but be able to extend every class or part of the application if needed.
In the final setup, I want to setup several applications for different running event organisers and eg. if one running event organiser wants custom pricing that can’t be handled via the basic core functionality, I’d like to extend the responsible class…
What’s the best way to do this?
I read http://www.yiiframework.com/wiki/155/the-directory-structure-of-the-yii-project-site/ which sounds interesting.
Furthermore I though of using an own autoloader, editing YiiBase::classMap or CWebApplication->controllerMap but all in all I’m a bit overwhelmed
How I’d want it to be: basic functionality should work out of the box, if I want to extend a model or a controller, it would be cool to somehow do this without changing the model/controller name to not have to rewrite the occurences of the base-controller everywhere.
What about having the basic functionality in the common/ directory (see link above) and in the frontend-event1/ directory extend EVERY model/controller etc., but only add properties or methods if needed?
I hope it’s clear what I’m trying to achive.
Thank you very much.