jun 25

Começando com CodeIgniter

CodeIgniter, MVC, PHP, Programação 5 Comentários

Para começar a trabalhar com CodeIgniter primeiramente é preciso que o leitor saiba o que é MVC, ou separação em 3 camadas.

MVC

MVC é uma sigla para Model-View-Controller, onde o Model representa a camada de acesso a dados, View a camada de apresentação, e Controller as regras de negocio da sua aplicação. Em outras palavras o MVC separa o acesso ao banco de dados do HTML e das regras de negocio, ou o SQL o HTML e o PHP.

Por que isso é bom

Quem já está familiarizado com o desenvolvimento de aplicações em 3 camadas já sabe que são inúmeras as vantagens dessa separação. porem alguma das mais importantes são, poder formar uma equipe de trabalho onde cada um trabalhe na parte que lhe cabe, nesse caso um DBA iria trabalhar somente no model, um Front-End-Developer somente nas Views e um programador Server-side somente nos controllers, sem que um interfira no trabalho do outro.

Alem disso a facilidade na hora da manutenção do código é muito superior a caso você estivesse trabalhando com tudo junto numa mesma camada.

Requisitos Mínimos

Apache + PHP 4.3.2 ou mais novo
Algum banco de dados para o caso de aplicações com acesso a dados
Os bancos suportados são MySQL (4.1+), MySQLi, MS SQL, Postgre, Oracle, SQLite e ODBC.

Instalando o CI

Acho que instalar não seria a palavra certa, mesmo por que o que você deve fazer é ir ao site oficial do framework e baixar a versão mais recente dele, descompacte-a na raiz do seu dominio, caso esteja testando remotamente, ou na raiz do localhost, caso esteja trabalhando localmente.

Enfim o começo

Apesar de permitir o desenvolvimento em 3 camadas o CI também permite que a camada de Model e de Controller sejam unidas em uma camada só, o que resultaria numa divisão em apenas duas camadas, apesar de eu aconselhar seriamente o uso dos models, trabalhar sem eles pode ser ótimo para começar a aprender.

Pensando assim vamos construir uma aplicação usando apenas os controllers e as views.

Os Controllers devem estar dentro da pasta ./system/application/controllers, nela iremos criar um arquivo chamado welcome.php, esse é o nome padrão para o controller principal da sua aplicação, o primeiro que será chamado quando o visitante entra na aplicação.

Isso pode ser mudado alterando a variável $route['default_controller'] no arquivo routes.php dentro da pasta ./system/application/config, nessa pasta estão também os outros arquivos de configuração do framework.

Nesse arquivo iremos escrever o seguinte código:

<?php
class Welcome extends Controller {

function Welcome()
{
parent::Controller();
}

function index()
{

$parametro['mensagem'] = ‘hello world’;
$this->load->view(‘welcome_index’, $parametro);
}

Feito isso iremos criar um arquivo chamado welcome_index.php na pasta ./system/application/views e nele escrever o seguinte código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=ISO-8859-1" />
<title>Hello World</title>
</head>
<body>
<?=$mensagem?>
</body>
</html>

Percebam que o segundo arquivo é um simples HTML que imprime a variável $mensagem do PHP na tela, portanto vamos analisar o primeiro arquivo, nele criamos uma classe Welcome que estende a classe Controller, uma função com o mesmo nome da classe (Função Construtora) que chama o construtor da sua classe pai (no caso a classe controller) e uma outra função index (esse é a primeira função chamada de cada controller) que cria um array de somente uma chave e chama a função $this->load->view('welcome_index', $parametro); passando como primeiro parâmetro o nome da view que será chamada e o como segundo parâmetro um array de dados a ser passado para essa view

Essa view recebe esse array e trasforma todos os seus indices em variaveis, dessa forma o indice ‘mensagem’ se torna a variável $mensagem que pode ser usada como quiser no decorrer do codigo

Agora se chamarmos o endereço http://localhost/ (substituir pelo correspondente caso esteja testando remotamente) devemos ter uma tela com a mensagem ‘Hello World’ impressa na tela. O mesmo deve acotecer se chamarmos http://localhost/index.php ou http://localhost/index.php/welcome ou http://localhost/index.php/welcome/index. Isso acontece pois apos o index.php as duas partes separadas por barras correspondem ao controller que será chamado e a função desse controller, porem quando omitimos esses dados ele ira chamar o controller welcome a função index.

Achou que ia ser mais? Pois então comece agora a criar sua própria aplicação usando CI

5 comentários sobre “Começando com CodeIgniter”

  1. joao disse:

    Parabéns pelo post, espero que venhão mais sobre codeigniter, recentemente comecei estudar mesmo não sendo programador, e quanto mais conteudo básico melhor.

  2. Nuno disse:

    Para quando mais tutoriais como este (PHP).

    []
    continuação de um bom trabalho

  3. Junior disse:

    Fala pessoal, vocês viram o livro de Codeiginter que saiu pela Editora Novatec? Eu gostei…

  4. [...] e desvantagens que irei apresentar agora já foram apresentadas nos artigos PHP com CodeIgniter e Começando com CodeIgniter, mas esse arquivo que escrevo agora tem mais um caráter comparativo do que [...]

  5. Mauro disse:

    Muito bom o post, esperando por mais tutoriais sobre CI

Deixe um Comentário