Introdução ao Symfony 2 - SfCon 2012

158

description

Introdução ao Symfony 2, apresentação do conceito de Bundles e comparação com o uso das principais ferramentas de CMS do mercado.

Transcript of Introdução ao Symfony 2 - SfCon 2012

Page 1: Introdução ao Symfony 2 - SfCon 2012
Page 2: Introdução ao Symfony 2 - SfCon 2012
Page 3: Introdução ao Symfony 2 - SfCon 2012
Page 4: Introdução ao Symfony 2 - SfCon 2012
Page 5: Introdução ao Symfony 2 - SfCon 2012
Page 6: Introdução ao Symfony 2 - SfCon 2012
Page 7: Introdução ao Symfony 2 - SfCon 2012
Page 8: Introdução ao Symfony 2 - SfCon 2012
Page 9: Introdução ao Symfony 2 - SfCon 2012
Page 10: Introdução ao Symfony 2 - SfCon 2012
Page 11: Introdução ao Symfony 2 - SfCon 2012
Page 12: Introdução ao Symfony 2 - SfCon 2012
Page 13: Introdução ao Symfony 2 - SfCon 2012
Page 14: Introdução ao Symfony 2 - SfCon 2012
Page 15: Introdução ao Symfony 2 - SfCon 2012

BONS SISTEMAS DEPENDEM DE BONS PROGRAMADORES E BOAS FERRAMENTAS, E NÃO

DE LINGUAGENS ESPECÍFICAS.

Page 16: Introdução ao Symfony 2 - SfCon 2012
Page 17: Introdução ao Symfony 2 - SfCon 2012
Page 18: Introdução ao Symfony 2 - SfCon 2012
Page 19: Introdução ao Symfony 2 - SfCon 2012
Page 20: Introdução ao Symfony 2 - SfCon 2012
Page 21: Introdução ao Symfony 2 - SfCon 2012
Page 22: Introdução ao Symfony 2 - SfCon 2012
Page 23: Introdução ao Symfony 2 - SfCon 2012
Page 24: Introdução ao Symfony 2 - SfCon 2012
Page 25: Introdução ao Symfony 2 - SfCon 2012
Page 26: Introdução ao Symfony 2 - SfCon 2012
Page 27: Introdução ao Symfony 2 - SfCon 2012
Page 28: Introdução ao Symfony 2 - SfCon 2012
Page 29: Introdução ao Symfony 2 - SfCon 2012
Page 30: Introdução ao Symfony 2 - SfCon 2012
Page 31: Introdução ao Symfony 2 - SfCon 2012
Page 32: Introdução ao Symfony 2 - SfCon 2012
Page 33: Introdução ao Symfony 2 - SfCon 2012
Page 34: Introdução ao Symfony 2 - SfCon 2012
Page 35: Introdução ao Symfony 2 - SfCon 2012
Page 36: Introdução ao Symfony 2 - SfCon 2012
Page 37: Introdução ao Symfony 2 - SfCon 2012
Page 38: Introdução ao Symfony 2 - SfCon 2012
Page 39: Introdução ao Symfony 2 - SfCon 2012
Page 40: Introdução ao Symfony 2 - SfCon 2012
Page 41: Introdução ao Symfony 2 - SfCon 2012
Page 42: Introdução ao Symfony 2 - SfCon 2012
Page 43: Introdução ao Symfony 2 - SfCon 2012
Page 44: Introdução ao Symfony 2 - SfCon 2012
Page 45: Introdução ao Symfony 2 - SfCon 2012
Page 46: Introdução ao Symfony 2 - SfCon 2012
Page 47: Introdução ao Symfony 2 - SfCon 2012
Page 48: Introdução ao Symfony 2 - SfCon 2012
Page 49: Introdução ao Symfony 2 - SfCon 2012
Page 50: Introdução ao Symfony 2 - SfCon 2012
Page 51: Introdução ao Symfony 2 - SfCon 2012
Page 52: Introdução ao Symfony 2 - SfCon 2012
Page 53: Introdução ao Symfony 2 - SfCon 2012
Page 54: Introdução ao Symfony 2 - SfCon 2012
Page 55: Introdução ao Symfony 2 - SfCon 2012
Page 56: Introdução ao Symfony 2 - SfCon 2012
Page 57: Introdução ao Symfony 2 - SfCon 2012
Page 58: Introdução ao Symfony 2 - SfCon 2012
Page 59: Introdução ao Symfony 2 - SfCon 2012
Page 60: Introdução ao Symfony 2 - SfCon 2012
Page 61: Introdução ao Symfony 2 - SfCon 2012
Page 62: Introdução ao Symfony 2 - SfCon 2012
Page 63: Introdução ao Symfony 2 - SfCon 2012
Page 64: Introdução ao Symfony 2 - SfCon 2012
Page 65: Introdução ao Symfony 2 - SfCon 2012
Page 66: Introdução ao Symfony 2 - SfCon 2012
Page 67: Introdução ao Symfony 2 - SfCon 2012
Page 68: Introdução ao Symfony 2 - SfCon 2012
Page 69: Introdução ao Symfony 2 - SfCon 2012
Page 70: Introdução ao Symfony 2 - SfCon 2012
Page 71: Introdução ao Symfony 2 - SfCon 2012
Page 72: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 73: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 74: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 75: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 76: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 77: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 78: Introdução ao Symfony 2 - SfCon 2012

6 bons motivos para usar Symfony

Page 79: Introdução ao Symfony 2 - SfCon 2012
Page 80: Introdução ao Symfony 2 - SfCon 2012
Page 81: Introdução ao Symfony 2 - SfCon 2012
Page 82: Introdução ao Symfony 2 - SfCon 2012
Page 83: Introdução ao Symfony 2 - SfCon 2012
Page 84: Introdução ao Symfony 2 - SfCon 2012
Page 85: Introdução ao Symfony 2 - SfCon 2012
Page 86: Introdução ao Symfony 2 - SfCon 2012
Page 87: Introdução ao Symfony 2 - SfCon 2012
Page 88: Introdução ao Symfony 2 - SfCon 2012
Page 89: Introdução ao Symfony 2 - SfCon 2012
Page 90: Introdução ao Symfony 2 - SfCon 2012
Page 91: Introdução ao Symfony 2 - SfCon 2012
Page 92: Introdução ao Symfony 2 - SfCon 2012
Page 93: Introdução ao Symfony 2 - SfCon 2012
Page 94: Introdução ao Symfony 2 - SfCon 2012
Page 95: Introdução ao Symfony 2 - SfCon 2012
Page 96: Introdução ao Symfony 2 - SfCon 2012
Page 97: Introdução ao Symfony 2 - SfCon 2012
Page 98: Introdução ao Symfony 2 - SfCon 2012
Page 99: Introdução ao Symfony 2 - SfCon 2012
Page 100: Introdução ao Symfony 2 - SfCon 2012
Page 101: Introdução ao Symfony 2 - SfCon 2012
Page 102: Introdução ao Symfony 2 - SfCon 2012
Page 103: Introdução ao Symfony 2 - SfCon 2012
Page 104: Introdução ao Symfony 2 - SfCon 2012

<html> <head> <title>Comentários da página {{ titulo }}</title> </head> <body> <h1>{{ titulo }} </h1> <ul> {% for comentario in comentarios %} <li>{{ comentario.autor }}: {{ comentario.texto }}</li> {% endfor %} </ul> </body> </html>

Page 105: Introdução ao Symfony 2 - SfCon 2012

<html> <head> <title>Comentários da página {{ titulo }}</title> </head> <body> <h1>{{ titulo }} </h1> <ul> {% for comentario in comentarios %} <li>{{ comentario.autor }}: {{ comentario.texto }}</li> {% endfor %} </ul> </body> </html>

<html> <head> <title>Comentários da página <?php echo $titulo; ?></title> </head> <body> <h1><?php echo $titulo; ?></h1> <ul> <?php foreach ($comentarios as $comentario) { ?> <li><?php echo $comentario.texto; ?></li> <?php } ?> </ul> </body> </html>

Page 106: Introdução ao Symfony 2 - SfCon 2012
Page 107: Introdução ao Symfony 2 - SfCon 2012

app/config

Page 108: Introdução ao Symfony 2 - SfCon 2012

app/config

Page 109: Introdução ao Symfony 2 - SfCon 2012
Page 110: Introdução ao Symfony 2 - SfCon 2012
Page 111: Introdução ao Symfony 2 - SfCon 2012
Page 112: Introdução ao Symfony 2 - SfCon 2012
Page 113: Introdução ao Symfony 2 - SfCon 2012
Page 114: Introdução ao Symfony 2 - SfCon 2012

doctrine:mapping:import

Page 115: Introdução ao Symfony 2 - SfCon 2012

doctrine:mapping:import

doctrine:generate:entities

Page 116: Introdução ao Symfony 2 - SfCon 2012

$product = new Product();

$product->setName('Bicicleta');

$product->setPrice('1900.00');

$product->setDescription('Bicicleta aro 18');

$em = $this->getDoctrine()->getEntityManager();

$em->persist($product);

$em->flush();

Page 117: Introdução ao Symfony 2 - SfCon 2012

$repository = $this->getDoctrine()->

getRepository('TesteBundle:Product');

$products = $repository->findOneBy(

array('name' => 'Bicicleta',

'price' => 1900.00)

);

Page 118: Introdução ao Symfony 2 - SfCon 2012
Page 119: Introdução ao Symfony 2 - SfCon 2012

# app/config/routing.yml

product_show:

pattern: /produto/{name}

defaults: { _controller: TestBundle:Product:show }

Page 120: Introdução ao Symfony 2 - SfCon 2012

# src/Test/TestBundle/Controller/ProductController.php

class ProductController extends Controller {

public function showAction($name) {

$repository = $this->getDoctrine()

->getRepository(‘TestBundle:Product');

$product = $repository->findOneByName($name);

// envia o produto para ser exibido na tela

}

}

Page 121: Introdução ao Symfony 2 - SfCon 2012
Page 122: Introdução ao Symfony 2 - SfCon 2012
Page 123: Introdução ao Symfony 2 - SfCon 2012
Page 124: Introdução ao Symfony 2 - SfCon 2012
Page 125: Introdução ao Symfony 2 - SfCon 2012
Page 126: Introdução ao Symfony 2 - SfCon 2012
Page 127: Introdução ao Symfony 2 - SfCon 2012
Page 128: Introdução ao Symfony 2 - SfCon 2012
Page 129: Introdução ao Symfony 2 - SfCon 2012
Page 130: Introdução ao Symfony 2 - SfCon 2012
Page 131: Introdução ao Symfony 2 - SfCon 2012
Page 132: Introdução ao Symfony 2 - SfCon 2012
Page 133: Introdução ao Symfony 2 - SfCon 2012
Page 134: Introdução ao Symfony 2 - SfCon 2012
Page 135: Introdução ao Symfony 2 - SfCon 2012
Page 136: Introdução ao Symfony 2 - SfCon 2012
Page 137: Introdução ao Symfony 2 - SfCon 2012
Page 138: Introdução ao Symfony 2 - SfCon 2012
Page 139: Introdução ao Symfony 2 - SfCon 2012
Page 140: Introdução ao Symfony 2 - SfCon 2012

/web

Page 141: Introdução ao Symfony 2 - SfCon 2012
Page 142: Introdução ao Symfony 2 - SfCon 2012
Page 143: Introdução ao Symfony 2 - SfCon 2012
Page 144: Introdução ao Symfony 2 - SfCon 2012
Page 145: Introdução ao Symfony 2 - SfCon 2012

php app/console generate:bundle

--namespace=Test/UserBundle --format=yml

Criação do bundle em linha de comando.

Page 146: Introdução ao Symfony 2 - SfCon 2012

Informa qual a url, o Bundle e a action que será executada.

# src/Test/UserBundle/Resources/config/routing.yml

hello:

pattern: /usuario/{name}

defaults: { _controller: TestUserBundle:User:index }

Page 147: Introdução ao Symfony 2 - SfCon 2012

Recupera o nome pela variável vinda da url e cria o Response.

// src/Test/UserBundle/Controller/UserController.php

class UserController {

public function indexAction($name) {

return new Response('<html><body>Olá '

.$name.'!</body></html>');

}

}

Page 148: Introdução ao Symfony 2 - SfCon 2012
Page 149: Introdução ao Symfony 2 - SfCon 2012
Page 150: Introdução ao Symfony 2 - SfCon 2012
Page 151: Introdução ao Symfony 2 - SfCon 2012
Page 152: Introdução ao Symfony 2 - SfCon 2012
Page 153: Introdução ao Symfony 2 - SfCon 2012
Page 154: Introdução ao Symfony 2 - SfCon 2012
Page 155: Introdução ao Symfony 2 - SfCon 2012
Page 156: Introdução ao Symfony 2 - SfCon 2012
Page 157: Introdução ao Symfony 2 - SfCon 2012
Page 158: Introdução ao Symfony 2 - SfCon 2012