• Mostrando resultados da busca por {{ posts_busca["corrected"] }} {{termo_busca}}
  • {{post.title}}
  • Não foram encontrados resultados para {{ posts_busca["corrected"] }} {{termo_busca}}

Introdução ao Phalcon na KingHost

Marketing KingHost - Time de Marketing da KingHost

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

Nosso ambiente PHP possui suporte ao framework Phalcon!

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.

A estrutura do seu projeto 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 configurar 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.

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

<IfModule mod_rewrite>
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.

// 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 for 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:

Exemplo de projeto Phalcon

Fonte e adaptação: Docs-PhalconPHP

Esse artigo foi útil pra você?