SlideShare uma empresa Scribd logo
1 de 158
Baixar para ler offline
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 <?php echo $titulo; ?></title>
                                       </head>
<html>                                 <body>
 <head>                                   <h1><?php echo $titulo; ?></h1>
                                          <ul>
  <title>Comentários da página {{ titulo }}</title>
                                          <?php foreach ($comentarios as $comentario) { ?>
 </head>                                    <li><?php echo $comentario.texto; ?></li>
 <body>                                   <?php } ?>
    <h1>{{ titulo }} </h1>                </ul>
    <ul>                               </body>
                                      </html>
    {% for comentario in comentarios %}
     <li>{{ comentario.autor }}: {{ comentario.texto }}</li>
    {% endfor %}
    </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.
# src/Test/UserBundle/Resources/config/routing.yml

hello:
    pattern: /usuario/{name}
    defaults: { _controller: TestUserBundle:User:index }

                        Informa qual a url, o Bundle e a action que será executada.
// src/Test/UserBundle/Controller/UserController.php

class UserController {
    public function indexAction($name) {
        return new Response('<html><body>Olá '
                            .$name.'!</body></html>');
    }
}

                    Recupera o nome pela variável vinda da url e cria o Response.




Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012

Mais conteúdo relacionado

Mais procurados

Mais procurados (10)

JQuery - JS 101
JQuery - JS 101JQuery - JS 101
JQuery - JS 101
 
Apresentacao codeigniter
Apresentacao codeigniterApresentacao codeigniter
Apresentacao codeigniter
 
Silex 101
Silex 101Silex 101
Silex 101
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Less
LessLess
Less
 
Api usando Silex
Api usando SilexApi usando Silex
Api usando Silex
 
Plugin zend acl
Plugin zend aclPlugin zend acl
Plugin zend acl
 
Apresentações alta performance
Apresentações alta performanceApresentações alta performance
Apresentações alta performance
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 

Semelhante a Introdução ao Symfony 2 - SfCon 2012

modernizando a arquitertura de sua aplicação
modernizando a arquitertura  de sua aplicaçãomodernizando a arquitertura  de sua aplicação
modernizando a arquitertura de sua aplicaçãoAntonio Spinelli
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Saulo Vallory
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento WebPeslPinguim
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Curso de Ruby on Rails - Aula 03
Curso de Ruby on Rails - Aula 03Curso de Ruby on Rails - Aula 03
Curso de Ruby on Rails - Aula 03Maurício Linhares
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 
Mini curso de django
Mini curso de djangoMini curso de django
Mini curso de djangorosenclever
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantesEduardo Mendes
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkMarcelo Rodrigo
 
Como criar um tema para WordPress
Como criar um tema para WordPressComo criar um tema para WordPress
Como criar um tema para WordPressRafael Funchal
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
ZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e VisãoZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e VisãoMarcos Bezerra
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 
MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...
MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...
MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...InCuca
 

Semelhante a Introdução ao Symfony 2 - SfCon 2012 (20)

modernizando a arquitertura de sua aplicação
modernizando a arquitertura  de sua aplicaçãomodernizando a arquitertura  de sua aplicação
modernizando a arquitertura de sua aplicação
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0
 
Tutorial.yii
Tutorial.yiiTutorial.yii
Tutorial.yii
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento Web
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Curso de Ruby on Rails - Aula 03
Curso de Ruby on Rails - Aula 03Curso de Ruby on Rails - Aula 03
Curso de Ruby on Rails - Aula 03
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
Mini curso de django
Mini curso de djangoMini curso de django
Mini curso de django
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantes
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
Como criar um tema para WordPress
Como criar um tema para WordPressComo criar um tema para WordPress
Como criar um tema para WordPress
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
ZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e VisãoZF Básico - 4. Controle e Visão
ZF Básico - 4. Controle e Visão
 
PHP ao Extremo
PHP ao ExtremoPHP ao Extremo
PHP ao Extremo
 
Angular js
Angular jsAngular js
Angular js
 
Php aula1
Php aula1Php aula1
Php aula1
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...
MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...
MeetUp WP Floripa - dicas simples de como deixar o admin com a cara do seu cl...
 

Mais de Hugo Magalhães

How to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.jsHow to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.jsHugo Magalhães
 
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientesInbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientesHugo Magalhães
 
Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2
Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2
Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2Hugo Magalhães
 
Empreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades DisfarçadasEmpreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades DisfarçadasHugo Magalhães
 
Mídias Sociais para Negócios
Mídias Sociais para NegóciosMídias Sociais para Negócios
Mídias Sociais para NegóciosHugo Magalhães
 
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFVSEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFVHugo Magalhães
 

Mais de Hugo Magalhães (6)

How to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.jsHow to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.js
 
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientesInbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientes
 
Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2
Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2
Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2
 
Empreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades DisfarçadasEmpreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades Disfarçadas
 
Mídias Sociais para Negócios
Mídias Sociais para NegóciosMídias Sociais para Negócios
Mídias Sociais para Negócios
 
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFVSEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
 

Introdução ao Symfony 2 - SfCon 2012