treinamento em symfony2

26
Treinamento em Symfony2 High Performance PHP Framework for Web Development João Paulo Cercal

Upload: joao-paulo-cercal

Post on 05-Jun-2015

352 views

Category:

Software


50 download

DESCRIPTION

Treinamento Interno de Symfony 2 realizado na agência A2C ministrado por João Paulo Cercal para a equipe PHP, realizado nos dias: 12/07/2014 e (à definir).

TRANSCRIPT

Treinamento em Symfony2High Performance PHP Framework for Web Development

João Paulo Cercal

Quem sou eu!?

a) João Paulo Cercal;b) http://www.linkedin.com/in/jpcercal

a) POR NADA!

Porque ?

Bons sistemas dependem de BONS PROGRAMADORES e

NÃO de linguagens...

Porque usar um FRAMEWORK?

Os frameworks surgiram com o objetivo de facilitar o desenvolvimento de software, poisutilizando-o, programadores focam os seus esforços no que é realmente importante, as regras de negócio do sistema.

Que frameworks existem para PHP?

a) Zend Framework;b) Symfony;c) CakePHP;d) etc...

Porque escolher o SF?

a) Mais rápido;✓ 2x mais do que o SF 1.4;✓ 3x mais rápido que o ZF1;✓ 5x mais rápido que o CakePHP.

b) Flexibilidade Ilimitada;✓ Full-Stack...

c) Expansível;✓ através de bundles...

Porque escolher o SF?

d) Estável;✓ Sensio Labs garante suporte de 3 anos...

e) De acordo com os padrões do mercado e de projetos;

f) Excelente documentação;g) Incentiva a criação de bundles;h) Fácil de usar;i) Baseado no conceito de Request/Response

do HTTP.

Porque escolher o SF?

Cuidado!

Request/Response no SF2

Versões do Symfony

a) 1.0 lançada em 2007;b) 1.4 lançada em 2009;c) 2.0 lançada em 2011;d) 3.0 em breve...

Gerenciamento de Dependências

a) Gerencia as dependências do software;b) Facilita manutenibilidade;c) Organização de bibliotecas de terceiros.

Gerenciamento de Dependências

VS

E o que é um BUNDLE?

a) É um BANDO de coisas;b) Tudo no SF2 é organizado em bundles;c) Um bundle é uma estrutura de arquivos que

implementam uma única funcionalidade (um blog, um fórum, autenticação,...) e são facilmente compartilhados por desenvolvedores.

Exemplo de um bundle

Bundles VS Plugins

a) O conceito é bastante semelhante exceto pelo fato desde o core do SF2 é baseado em bundles.

O que é um Bundle?

a) Aplicação;b) Módulos;c) Plugins;d) ...

A2C Manager

a) Partiu do projeto cekurte/symfony2, disponível em: https://github.com/CekurteSistemas/symfony2

b) Setup inicial do SF2;c) Personalizações do SF2 e geração de código

fonte (CRUD) com base em modelos;

A2C Manager BUNDLES integrados

a) Symfony 2.4;b) Doctrine 2.2;c) Twig 1.0;d) SwiftMailer 2.3;e) Monolog 2.4;f) ...

A2C Manager BUNDLES integrados

a) SymfonyFrameworkBundle;b) SymfonySecurityBundle;c) SymfonyTwigBundle;d) SymfonyMonologBundle;e) SymfonySwiftMailerBundle;f) SymfonyDoctrineBundle;g) ...

A2C Manager BUNDLES integrados

h) JMSSecurityBundle;i) CekurteUserBundle;j) FOSUserBundle;

k) HWIOAuthBundle;l) KnpPaginatorBundle;

m) CekurteGeneratorBundle;n) ...

A2C Manager BUNDLES integrados

o) FOSJsRoutingBundle;p) LiipImagineBundle;q) OneUploaderBundle;r) CekurteUploaderBundle;s) CekurteFixturesBundle;t) CekurteMail2EasyBundle;u) ...

Instalação

a) PHP 5.4.10+;b) MySQL 5.5+;c) Composer;d) Bower;e) Symfony 2.4+.

Projeto Prático

a) Sugestões?b) Se não houverem, faremos um blog.c) Aqueçam seus dedos...

Referênciashttp://symfony.com/

http://symfony.com/doc/current/_images/request-flow.png

https://getcomposer.org/

http://bower.io/

http://www.slideshare.net/cekurte/php-do-jeito-certo

http://pt.slideshare.net/hugomn/introduo-ao-symfony-2

http://www.slideshare.net/GuilhermeVeras/sfcon-2012-conceitos-de-engenharia-reversa-aplicados-na-migraes-de-sistemas-legados-symfony-1x-para-symfony-2x