Code Igniter User Guide Version 1.5.2


Scaffolding

O recurso Scaffolding do Code Igniter provê uma maneira rápida e muito conveniente de adicionar, editar ou apagar informações de seu banco de dados durante o desenvolvimento.

Muito Importante: O Scaffolding foi planejado para uso apenas durante o desenvolvimento. Ele provê mínima segurança, apenas através de uma palavra "mágica", portanto qualquer pessoa que tenha acesso ao seu site pode potencialmente editar ou apagar suas informações. Se você utilizar este recurso, tenha certeza de desabilitá-lo imediatamente ao término do desenvolvimento do site. NÂO DEIXE-O habilitado em um site no ar. E por favor, configure uma palavra secreta antes de usá-lo.

Porque você usaria Scaffolding?

Um típico cenário: Você criou uma nova tabela no banco durante o desenvolvimento e gostaria de um jeito rápido de inserir alguma informação nela para testar. Sem o scaffolding suas escolhas são ou dar alguns inserts via linha de comando ou usar uma gerenciador como o phpMyAdmin. Com o recurso de scaffolding do Code Igniter, você pode rapidamente adicionar alguma informação usando uma interface no browser. E quando terminar de usar a informação, pode facilmente apagá-la.

Configurando uma Palavra Secreta

Antes de habilitar o scaffolding, por favor, crie uma palavra secreta. Esta, quando encontrar em sua URL, iniciará a interface scaffolding, então por favor, escolha algo tão obscuro que ninguém será capaz de advinhar..

Para configurar uma palavra secreta, abra seu arquivo application/config/routes.php e procure por este item:

$route['scaffolding_trigger'] = '';

Ao encontrá-lo, adicione sua distinta palavra.

Note: A palavra do scaffolding não pode iniciar com um underscore.

Habilitando o Scaffolding

Note: As informações nesta página assume que você já sabe como os controllers funcionam, e que você tem algum deles funcionando e disponível. Também se assume que você configurou o Code Igniter para se autoconectar a seu banco de dados. Se não, as informações aqui não serão muito relevantes, por isso você é encorajado a executar os dois itens acima primeiro. Por último, assume-se que você o que é um construtor de classe. Se não, leia a última seção da página controllers.

Para habilitar o scaffolding você precisa inicializá-lo em seu construtor como mostrado abaixo:

<?php
class Blog extends Controller {

       function Blog()
       {
            parent::Controller();

            $this->load->scaffolding('table_name');
       }
}
?>

Onde table_name é o nome da sua tabela (tabela, e não da base de dados) com a qual você deseja trabalhar.

Uma vez inicializado o scaffolding, você o acessrá com este protótipo de URL: www.seu-site.com/index.php/classe/palavra_secreta/

Por exemplo, utilizando um controller chamado Blog, e abracadabra sendo a palavra secreta, você acessaria o scaffolding desta forma:

www.seu-site.com/index.php/blog/abracadabra/

A interface do scaffolding deverá ser autoexplicativa. Você pode adicionar, editar ou apagar registros.

Nota Final:

O recurso de scaffolding somente irá funcionar com tabelas que contém uma chave primária, por ser esta a informação necessária para executar as várias funções do banco de dados.