Introdução ao Phalcon – Parte I


Confira aqui um guia básico para quem deseja iniciar a utilização do framework Phalcon. Acompanhe o tutorial para saber como iniciar um projeto simples, utilizando URL’s amigáveis, Autoloaders, Dependency Management e Controller.

O Phalcon é um framework PHP que promove a arquitetura Model-View-Controller (MVC). Ele se destaca em termos de performance, sendo muito mais rápido do que outros frameworks PHP existentes no mercado. A razão de tanta rapidez é, em parte, pelo fato de não ser um framework PHP comum, já que ele funciona como uma extensão do PHP e utiliza a escrita em C.

Neste artigo, vamos mostrar como começar a utilizar o Phalcon, criando um projeto simples.

Para seguir este tutorial, você precisará:

  • Editor de Códigos, como por exemplo o Sublime, ou qualquer outro que prefira.
  • Estar alocado em um servidor com suporte ao Phalcon (caso não seja o seu caso, poderá solicitar a transferência de servidor para nossa equipe).

A estrutura do seu projeto Phalcon

Com Phalcon, todos os arquivos relacionados à estrutura de pastas estão disponíveis na memória, então tudo que você precisa fazer para começar é criar uma estrutura de pasta vazia em algum lugar na raiz de documentos do Apache (o padrão é /var/www).

A maneira recomendada para a estrutura do projeto é a seguinte:

Sendo assim, você conta com um arquivo do projeto, que possui duas pastas principais: app e www. A primeira vai abrigar a lógica do seu aplicativo, enquanto a segunda é o lugar onde seu browser irá apontar e ser redirecionado para os recursos na pasta app e ganhará acesso aos recursos frontend da aplicação. Vale lembrar que para este tutorial não utilizaremos todos os diretórios mencionados acima.

URLs amigáveis

Iremos onfigurar URLs amigáveis para este tutorial e incentivamos o seu uso em qualquer projeto. URLs amigáveis são melhores para SEO, bem como fáceis de lembrar para os usuários. Phalcon suporta módulos de reescrita de URL’s  fornecidos pelos servidores web mais populares.

Este conjunto de regras irá verificar se o arquivo solicitado existe, se ele não existir precisará ser reescrito pelo módulo do servidor web:

Index
O primeiro arquivo que você precisa criar é o do bootstrap. Este arquivo servirá como base para a sua aplicação, entregando controle sobre todos os aspectos do projeto. Através desse arquivo, você poderá programar inicialização de componentes, bem como definir os comportamentos do aplicativo.

O arquivo public/index.php deve ser mais ou menos assim:

Autoloaders

A primeira parte do código bootstrap está registrando um carregador automático “Autoloader”. Este recurso será utilizado para carregar classes como controladores e modelos da aplicação.

Para este exemplo foi escolhido localizar classes com base em diretórios pré-definidos:

Dependency Management

Este é um conceito importante para quem deseja começar a trabalhar com o Phalcon. O contêiner de injeção de dependências pode soar complexo, mas é bastante simples e prático. Trata-se de um aglomerado, onde armazenamos os serviços que a nossa aplicação irá usar para trabalhar.

Cada vez que o framework requer um componente, ele irá pedir ao contêiner utilizando o nome declarado para o serviço. Já que o Phalcon é uma estrutura altamente dissociada, a DI age como uma cola que facilita a integração dos diferentes componentes para que atinjam o seu trabalho em conjunto de forma transparente.


Criando um Controller

Por padrão, o Phalcon irá procurar um controller chamado “Index”. Este será o ponto de partida quando nenhum controller ou action foi passado via comando. O controlador de índice (app/controllers/IndexController.php) se parece com:

As classes do controlador devem ter o sufixo “Controller” e ações do controlador devem ter o sufixo “Action”. Depois de criar este arquivo, se você acessar o aplicativo a partir do seu navegador, você poderá ver o seguinte:

bemvindo

Neste tutorial vimos como instalar o Phalcon e iniciar um projeto simples. Em um próximo tutorial, vamos mostrar como trabalhar com o MVC e como acessar as informações armazenadas no banco de dados.

Adaptado de Docs.PhalconPHP

 

Comentários

comentário(s)