Hello all.
I have rather deep experience of using Yii in practical projects.
That’s why I would like to request several features to avoid creating them from the scratch in all new projects.
I’ll add some other requests later.
================
- Command-line model generation tool is marked as deprecated in your guide.
But I found it very useful for the following situation.
a) I created DB.
B) Generate all models for all db tables together by single execution of command.
c) Create models wrappers clasess for each model class and use further in the application these wrappers instead of direct using of model classes.
All customizations on model levels are done in wrappers, not in classes.
(Why??? See the next…)
d) At one day client/manager comes and asks "we decided to update 10 tables with adding many new fields/relations and removing old"
e) I tell "OK", do update in the DB, and… magic!.. with a single run of command-line tool I regenerate all models classes.
Pluses:
a) I don’t need to create new validation rules and new definitions of relations for each model class after each update.
All is generated automatically.
B) And at the same I keep all manual customizations which I did on model-level in my wrappers.
Important detail!
Steps D and E happen EVERY WEEK, or at least every 2-3 weeks.
Result: we save several hours of work per week.
===============
-
We need to integrate some images manipulation library with rich set of tools.
-
Distr-builder for web-based products.
Features:
a) extract from dev/test server all files for distr
B) merge with some set of directories/files
c) remove all technical comments, and add copyright comments
d) zip all
- Post deployment script that can be invoked from such servers as beanstalkapp and which does the following
a) automatically applies all migrations
B) calls "distr-builder" to generate build for each revision
- Methods for CFileHelper
-
deleteDirectory
-
findDirectories
- Ajax-based models manager.
Can be inserted into every page and configured for any model class.
Performs all CRUD and pagination/sorting operations by ajax.
Has customizable UI.