📅 Conexão KingHost 🚀 Especial Mês das Mulheres - Aulas para apoiar o empreendedorismo feminino 💰

Kinghost | Blog

Introdução ao Phalcon – Parte I

Publicado em 22/12/2015

Atualizado em 26/04/2023

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:

/RAIZ_DA_HOSPEDAGEM
    app/
        controllers/
        models/
        views/
    www/
        css/
        img/
        js/

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:

#/www/.htaccess

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]

</IfModule>

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:

<?php

chdir(dirname(__DIR__));

try {
 /**
 * Registra um novo autoloader e define
 * os diretórios onde estarão os arquivos da aplicação
 */
 $loader = new Phalcon\Loader();
 $loader->registerDirs(array(
 'app/controllers/',
 'app/models/'
 ))->register();

 /**
 * Cria o injetor de dependência
 */
 $di = new Phalcon\DI\FactoryDefault();

 /**
 * Configura o componente de views
 */
 $di->set('view', function () {
 $view = new Phalcon\Mvc\View();
 $view->setViewsDir('app/views/');
 return $view;
 });

 /**
 * inicia a aplicação
 */
 $application = new Phalcon\Mvc\Application($di);
 echo $application->handle()->getContent();

} catch (\Phalcon\Exception $e) {
 echo "PhalconException: ", $e->getMessage();

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:

 <?php

$loader = new Phalcon\Loader();
$loader->registerDirs(
 array(
 '../app/controllers/',
 '../app/models/'
 )
)->register();

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.

 php

// Create a DI
$di = new Phalcon\DI\FactoryDefault();


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:

 <?php

class IndexController extends Phalcon\Mvc\Controller
{
 public function indexAction()
 {
 echo "<h1>Olá, bem vindo a sua primeira aplicação com Phalcon!</h1>";
 }
}

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

 

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Redação KingHost

Redação KingHost

Somos uma empresa de soluções digitais, especialistas em simplificar o uso da tecnologia e referência em hospedagem de site.

Redação KingHost

Redação KingHost

Somos uma empresa de soluções digitais, especialistas em simplificar o uso da tecnologia e referência em hospedagem de site.

Compartilhe esse conteúdo com alguém que possa gostar também

Conteúdos relacionados

As ameaças virtuais estão mudando constantemente e se tornando cada dia mais sofisticadas. Por isso, para quem tem um negócio online, a segurança é um ponto que merece grande atenção. De acordo com o Relatório do Sitelock que analisou 14 milhões de sites em 2022, sites recebem cerca de 5.5 vezes mais tráfego de bots...

Assine a nossa newsletter e receba conteúdos para apoiar o crescimento do seu negócio

Sem Título(obrigatório)

📅 Aulão GRATUITO 🚀 Como VENDER MAIS na internet 💰

Mensagens para você