I was tired of writing the same CRUD code over and over again. And i also was not happy with code generation through Gii, because it turned out, that i had to modify the auto-generated code a lot to suit my needs. To be honest i’m not a big fan of code generation at all.

So i wrote this little base CRUD controller class, which helps me a lot to quickly build powerful backend interfaces.

Main features:

  • Create, list, view, edit and delete actions. Follow DRY and don’t repeat the same CRUD logic in all your controllers.

  • Powerful filter pattern. Use a dedicated filter form in your listing to build convenient search interfaces.

  • Helpers for URL creation. Take the user back to the same listing page after editing/viewing a record.

Check out the extension and read the full docs including a quickstart example and some advanced tricks over at the github project page.