introdução ao symfony 2 - sfcon 2012
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
BONS SISTEMAS DEPENDEM DE BONS PROGRAMADORES E BOAS FERRAMENTAS, E NÃO
DE LINGUAGENS ESPECÍFICAS.
6 bons motivos para usar Symfony
6 bons motivos para usar Symfony
6 bons motivos para usar Symfony
6 bons motivos para usar Symfony
6 bons motivos para usar Symfony
6 bons motivos para usar Symfony
6 bons motivos para usar Symfony
<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 {{ 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>
app/config
app/config
doctrine:mapping:import
doctrine:mapping:import
doctrine:generate:entities
$product = new Product();
$product->setName('Bicicleta');
$product->setPrice('1900.00');
$product->setDescription('Bicicleta aro 18');
$em = $this->getDoctrine()->getEntityManager();
$em->persist($product);
$em->flush();
$repository = $this->getDoctrine()->
getRepository('TesteBundle:Product');
$products = $repository->findOneBy(
array('name' => 'Bicicleta',
'price' => 1900.00)
);
# app/config/routing.yml
product_show:
pattern: /produto/{name}
defaults: { _controller: TestBundle:Product:show }
# 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
}
}
/web
php app/console generate:bundle
--namespace=Test/UserBundle --format=yml
Criação do bundle em linha de comando.
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 }
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>');
}
}