SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
1.
Performance de verdade com
Phalcon Framework
Jaime da Costa Pereira Neto
http://jaimeneto.com
contato@jaimeneto.com
github.com/jaimeneto
2.
Jaime Neto
➔ Graduado em Telemática pelo CEFET-PB (atual IFPB)
➔ Especialista em Desenvolvimento para Web pela UNIBRATEC (atual Estácio iDez)
➔ Zend Certified Engineer - Zend Framework
➔ Trabalha como Analista de Sistemas no Instituto Chico Mendes de Conservação da
Biodiversidade (ICMBio)
➔ Membro do PHP-PB desde os primórdios
8.
➔Funciona como uma extensão de servidor web, escrita em linguagem C
◆ Velocidade de execução maior (não precisa processar os arquivos PHP do framework)
◆ Consegue lidar com mais solicitações HTTP por segundo
◆ Quantidade menor de arquivos
Performance
10.
➔Funciona como uma extensão de servidor web, escrita em linguagem C
◆ Dificulta a depuração do código
◆ Pode haver uma curva de aprendizado maior
◆ Caso algo dê errado, você poderá ter que depurar código em C
◆ Pode haver dificuldades para atualização de versão no servidor
Desvantagens
12.
➔A partir da versão 2.0 o Phalcon passou a utilizar o Zephir
◆ Linguagem de alto nível projetada para facilitar a criação e manutenção de extensões para PHP
◆ Open source (MIT license)
◆ Desenvolvimento com linguagens compiladas perdem na produtividade, mas ganham na
performance. A idéia do Zephir é ter o melhor dos dois mundos.
◆ https://zephir-lang.com
14.
➔Ferramenta RAD (Rapid Application Development)
◆ Permite criar rapidamente o esqueleto da aplicação
◆ Permite gerar partes da aplicação de acordo com a necessidade (module, controller, model)
◆ Gera CRUD completo baseado nas tabelas do Banco de Dados
◆ Funciona como script de linha de comando
◆ Oferece uma opção visual para ser usada via browser
Devtools
15.
phalcon create-project blog simple --enable-webtools
phalcon scaffold --table-name posts
phalcon create-controller --name users
phalcon create-model --name users
Devtools
➔Usando a linha de comando (Exemplo)
◆ Criar projeto blog com estrutura simples e ativar webtools
◆ Criar toda estrutura CRUD da tabela posts (controller, model, telas de busca, cadastro, alteração,
exclusão, lista)
◆ Criar controller e model de users
18.
➔ Phalcon pode funcionar também como um micro-framework
➔Opção mais adequada para implementar pequenas aplicações, APIs e protótipos
➔O site do phalcon foi feito como micro app: https://github.com/phalcon/website
➔Micro app gerado com Devtools:
micro
├── config
│ └── config.php
├── index.html
├── public
│ └── index.php
└── views
├── 404.phtml
└── index.phtml
Micro
19.
➔Mecanismo de Templates
◆ Escrito em Zephic/C para PHP
◆ Oferece helpers para facilitar no
desenvolvimento das views
◆ Integrado com outros componentes
do Phalcon
◆ Pode ser usado separadamente do Phalcon
◆ O phalcon gera cache dos templates para ganho de performance
Volt
{# app/views/products/show.volt #}
{% block last_products %}
{% for product in products %}
* Name: {{ product.name|e }}
{% if product.status == 'Active' %}
Price: {{ product.price + product.taxes/100}}
{% endif %}
{% endfor %}
{% endblock %}