abstractmodelgenerator Custom model generator for gii that generates an abstract class and a concrete class of a specified model

  1. Requirements
  2. Usage
  3. Resources

Have you ever found yourself stuck when you put some custom code inside a model file generated and for some reason need to regenerate the same model using Gii? For these reason I created this gii's generator to apply the following design pattern.

Every time you generate a model two files will be created. One as a abstract class named as BaseUser.php and saved inside protected/models/base and another concrete class named User.php extending the BaseUser.php and saved inside protected/models. All rules generate by gii will be printed inside the abstract class. If you need to customize some aspect of the User you will need to modify the concrete class.

The generator provide an flexible way to enable/disable the generation of the concrete class. This way we avoid the problem of lose our custom code that usually would be overridden by a schema modification.

The paths described above can be modified during the generation process.

Requirements

  • Yii 1.1.8 (I didn't test on earlier versions, but my guess is that should work)

Usage

  • Unzip the model.zip file and put the contents inside protected/gii/generators.
  • Customize your protected/config/main.php in order to activate a custom generator path for gii. This can be done with the following snippet:
...
'modules' => array(
    'gii' => array(
	'class' => 'system.gii.GiiModule',
	'password' => 'gii',
	'generatorPaths' => array(
            'application.gii.generators',
        ),
        'ipFilters' => array('127.0.0.1', '::1'),
    ),
),
...
  • Now you can access your gii module and generate all models.

Resources

6 0
9 followers
927 downloads
Yii Version: 1.1
License: BSD-2-Clause
Category: Database
Developed by: William Lepinski
Created on: Aug 22, 2011
Last updated: 12 years ago

Downloads

show all

Related Extensions