O padrão de desenvolvimento MVC no PHP

MVC é sigla para Model-View-Controller.

É um padrão de arquitetura de software, que permite separar o desenvolvimento em camadas, tornando a manutenção da lógica de negócio (Controller) e lógica de apresentação (View) e lados isolados.

Hoje é um dos padrões mais usado, sendo possível a utilização em diversas linguagens de programação com suporte a Orientação a Objetos.

Para melhor explicar como funciona o MVC, precisamos entender os componentes:

No controller irão ocorrer todas as regras de negócio, e também deverá receber todas as requisições de browser ( $_GET, $_POST, $_REQUEST… ).

No Model é onde ocorre o acesso a dados. Esses dados podem estar armazenados em XML, JSON, Banco de Dados e outros modelos de persistencia de dados.

A camada de visualização (View) é onde irá ocorrer o tratamento da informação para exibição na tela. Esse tratamento pode ser através de comandos PHP ou utilizando uma engine de template. Isso irá depender do framework utilizado.

Saiba mais sobre MVC estudando nos links abaixo:

Frameworks PHP

Hoje o PHP tem diversos frameworks que auxiliam no desenvolvimento de projetos WEB. Os mais conhecidos serão listados abaixo. Dentro de alguns dias vamos estar detalhando o funcionamento e indicando matérias para auxiliar no estudo desses frameworks.

Codeigniter:

CodeIgniter é um Framework de Desenvolvimento de Aplicações – um kit de ferramentas – para as pessoas que constroem sites usando PHP. Seu objetivo é dar a você a possibilidade de desenvolver projetos muitos mais rapidamente do que você podia se estivesse escrevendo o código do zero, provendo de um rico conjunto de bibliotecas para tarefas comuns, com uma interface e estrutura lógica simples de acessos àquelas bibliotecas. Code Igniter permite que você mantenha o foco em seu projeto minimizando a quantidade de código necessário para uma dada tarefa.

CakePHP:

CakePHP é um framework escrito em PHP que tem como principais objetivos oferecer uma estrutura que possibilite aos programadores de PHP de todos os níveis desenvolverem aplicações robustas rapidamente, sem perder flexibilidade.

O CakePHP utiliza padrões de projeto conhecidos, tais como ActiveRecord, Association Data Mapping, Front Controller e MVC (Model-View-Controller).

Kohanna:

Kohana é um framework para aplicações web de código aberto, escrito em PHP 5 que adota o padrão MVC. Tem por objetivo ser seguro, leve e fácil de aprender e usar. Ele suporta apenas a versão 5 ou superior do PHP, a fim de fazer pleno uso das melhorias da orientação a objetos dessa versão.

Symfony:

Symfony é um framework web escrito em PHP que segue o paradigma MVC (model-view-controller). Disponível sob a Licença MIT, Symfony é um Software livre.

Yii:

Yii é um framework de alta performance em PHP que utiliza componentes para o desenvolvimento de pequenas/médias/grandes aplicações Web. Permite máxima reutilização de códigos na programação Web e pode acelerar significativamente o processo de desenvolvimento.

Zend:

Zend Framework é um framework para aplicações Web de código aberto, orientado a objetos, implementado em PHP 5 e licenciado como New BSD License. Zend Framework—freqüentemente referido como ZF—é desenvolvido com o objetivo de simplificar o desenvolvimento web enquanto promove as melhores práticas na comunidade de desenvolvedores PHP.

No link http://www.phpframeworks.com/ existe uma tabela de comparação entre os frameworks citados acima, assim como outros que são menos conhecidos. Não há como dizer qual deles é o melhor framework. O desenvolvedor deve escolher qual ele consegue se adaptar e melhor adequar à necessidade.

O que são arrays no PHP

No PHP, array é o nome dado a um conjunto de valores. Esse conjunto de valores é relacionado a chaves. Este tipo de valor no PHP é otimizado de várias maneiras, tornando assim possível usá-lo como um array real, ou uma lista, hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila e outras aplicações.

Ainda é possível ter outro array dentro de um valor, assim você consegue facilmente simular árvores de dados.

Abaixo você pode encontrar alguns exemplos para criar e interagir com esses valores:

Com o constrututor da array(), você pode iniciar uma lista separando os pares por chave => valor.

<?php
    $arr = array(
        "foo" => "bar",    // a chave pode ser string
        12 => true        // ou pode ser um inteiro
    );

    echo $arr["foo"]; // retorna o valor da chave foo: bar
    echo $arr[12];    // retorna o valor da chave 12: 1
?>

Abaixo tem um exemplo de como criar um array bidimensional, podendo inserir um array dentro de um valor:

<?php
    $arr = array(
        "arrBidimensional" => array( 6=>"A", 8=>"B", "chave"=>"C" ) // um array como valor
    );

    echo $arr["arrBidimensional"][6];    // Retornará A
    echo $arr["arrBidimensional"][8];    // Retornará B
    echo $arr["arrBidimensional"]["chave"];    // Retornará C
?>