padrão MVC; • Implementado como uma extensão do servidor web escrito em Zephir/C; • Lançado em 2012; • Open-source framework - licença BSD; • 1ª versão em 14 de Novembro de 2012;e • Phalcon 3.0.0 lançado em 29 de julho de 2016
milhares de linhas de código; • Não carregar dezenas de arquivos por requisição; • Não revisa a existência de classes, funções, variáveis a cada requisição;
SQLite são suportados • PHQL - Phalcon Query Language ◦ escrever consultas usando uma linguagem SQL-like ◦ implementado como um analisador (escrito em C), que se traduz em que a sintaxe de RDBMS alvo. • Object Document Mapping for MongoDB ◦ mapear documentos para um banco de dados MongoDB • Transações • Cache ◦ Suporta muitos backends, como Redis, Memcached, MongoDB, Arquivos, Apc e mais
ou outra ferramenta que é usada para fazer solicitações do seu aplicativo. • i18n • Construtor de Formulários • Mensagens Rápidas $form = new Form(); $form->add(new Text("nome")); $form->add(new Text("telefone")); class PostsController extends Controller { public function saveAction() { $this->flash->error("too bad!"); $this->flash->success("yes!"); $this->flash->notice("important"); $this->flash->warning("best check."); } }
(ACL) • Sharding ◦ Adicionar modelos de banco de dados diferente • Crypt • Events ◦ Um Gestor de Eventos nos permite anexar ouvintes para um determinado tipo de evento. use Phalcon\Acl; use Phalcon\Acl\Role; use Phalcon\Acl\Adapter\Memory as AclList; $acl = new AclList(); $acl->setDefaultAction(Acl::DENY); $roles = array( 'users' => new Role('Users'), 'guests' => new Role('Guests') ); foreach ($roles as $role) { $acl->addRole($role); }
= new EventsManager(); // Listen for events produced in the dispatcher using the Security plugin $eventsManager->attach('dispatch:beforeExecuteRoute', new SecurityPlugin); // Handle exceptions and not-found exceptions using NotFoundPlugin $eventsManager->attach('dispatch:beforeException', new NotFoundPlugin); $dispatcher = new Dispatcher(); // Assign the events manager to the dispatcher $dispatcher->setEventsManager($eventsManager); return $dispatcher; });
MVC moderno ( rotas, controladores, templates, ORM, cache, etc) • Ser uma extensão, o Phalcon é somente uma extensão a mais no servidor. • Github ◦ 8,700 commits ◦ 36 branches ◦ 72 releases ◦ 183 contributors • Boa documentação e com 7 tutorial Prós