domingo, 16 de janeiro de 2011

Simplificando a idéia do MVC no CodeIgniter

Sabemos que a Visão envia os dados para o Controlador e este passa os Objetos para o Modelo que irá se comunicar com o Banco de Dados. Na prática é mais ou menos assim

//O Controlador recebe os dados da página

function salvar(){
        $dados = array(
            "id" => "",
            "nome" => "teste"
        );
    }

//O Model pega esse Array e verifica se Id da tabela existe, caso negativo é uma inserção, se não é uma edição

function salvar($dados){
       if(empty($dados["id"])){

            //Retira o id do documento
            $chave = array_search("id", $dados); //localizo o valor no array
            unset($dados[$chave]); //apago já que o ID é autoincrement

            $this->db->insert('documento', $dados);
          
        }else{
            $this->db->where('id', $dados["id"]);
            $this->db->update('documento', $dados);
        }
      
        return $this->db->affected_rows();
    }

ModRewrite - Tirar ".php" e Habilitar Url Amigáveis


RewriteEngine on
RewriteCond $1 !^(index\.php|aplicacao|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Salve no notepad como .htaccess

RewriteEngine On - Esta linha habilita o uso do mod_rewrite no seu site.
RewriteRule: Define o início de uma regra de reescrita.

sábado, 15 de janeiro de 2011

O que é MVC?

MVC é um padrão de design. Um padrão de projeto é uma estrutura de código que permite a codificação de quadros comuns a serem replicadas rapidamente. Você pode pensar em um padrão de design como um esqueleto ou estrutura na qual seu aplicativo será construído.

M de Modelo, V de Visão e C de Controle

Modelo recebe o objeto passado pelo Controle, este que por sua vez recebeu o objeto da Visão.

Graficamente explicando:



MVC - Vídeo

Post Animado - #4 - Staying RESTful

Post Animado - #3 - Keeping Views Stupid

Post Animado - #2 - The Importance of Tests