Ola pessoal, criamos um projeto no Google Code chamado ci-scaffold, que é um gerador de código PHP para o framework CodeIgniter, já mencionado em posts anteriores, que gera os arquivos básicos para o CRUD de uma tabela do banco de dados funcionar.
Como utilizar
Devemos baixar a última versão do ci-scaffold no google code. Extrair o arquivo zip dentro da pasta libraries em system/application dentro da estrutura do CodeIgniter (system/application/libraries).
Após extrair os arquivos passamos a ter uma biblioteca que pode ser utilizada pelos controllers do CodeIgniter da seguinte forma:
$this->load->library('scaffold');
$this->scaffold->generate();
Desta forma você não precisa usar um controller com nome especifico, dificultando assim a qualquer usuário de executar este sem autorização do criador, por exemplo, podemos utilizar um controller chamado Abracadabra e assim a uri seria /abracadabra, o que dificilmente um usuário normal tentaria acessar. Lembrando ainda que não é recomendável deixar o scaffolder funcionando em ambiente de produção, ou seja, deve-se utilizar ele para criação dos arquivos apenas em ambiente de desenvolvimento e não enviá-lo para produção.
Vamos a um exemplo de uma classe para utilizar o scaffolder:
<?php
class Admin extends Controller {
public function __construct(){
parent::__construct();
}
public function index(){
$this->load->library('scaffold');
$this->scaffold->generate();
}
}
Este controller irá chamar o scaffolder em /admin, apresentando a tela a seguir, que irá listar todas as tabelas do banco de dados:

Após selecionar a tabela, e acionar o botão Submit, serão gerados todos os arquivos para o CRUD funcionar com a estrutura como segue no exemplo:

No meu caso escolhi a tabela “estado”, e os arquivos gerados foram os seguintes:
Considere que estamos dentro da pasta system/application
- controllers/estados.php
- models/modelestado.php
- views/estado/delete.php
- views/estado/form.php
- views/estado/list.php
- views/estado/save.php
A partir deste momento temos novas uris:
- /estados: lista os estados do banco de dados
- /estados/create: cria um novo estado a partir dos dados do formulário
- /estados/edit/1: edit o estado com id 1 a partir dos dados do formulário
- /estados/delete/1: deleta o estado com id 1 a partir da confirmação no formulário
O ci-scaffold utiliza de templates para criação dos arquivos, que podem ser modificados para a que a geração do crud seja feita de forma a atingir melhor suas necessidades. Lembrando ainda que o scaffold é uma forma de agilizar a codificação, e que você pode se basear nos arquivos gerados do crud para mudar o código após gerado para adicionar regras específicas ao seu negócio.
Obs.: Nesta primeira versão, apenas o banco MySQL é suportado, porém o sistema já está preparado para receber drivers de outros bancos suportados pelo CodeIgniter.
É isso ai!