SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
...UN PRIMER PROYECTO EN SYMFONY2




    SYMFONY2
    PRIMER PROYECTO EN SYMFONY2




                                    CÉSAR HERNÁNDEZ
                                   dpcesar@gmail.com
                                         Version 0002­12­11
...UN PRIMER PROYECTO EN SYMFONY2




    Resumen (Abstract):
    Este  papel  de  trabajo,  en  formato  de  presentación, 
    tiene como objetivos: aclarar un poco “algo acerca la 
    teoria de sistemas” utilizada en  Symfony2; y crear un 
                                                   ; y
    proyecto  sencillo  que  adiestre  al  nuevo  programador 
    acerca de esta versión del framework de symfony.

    Para hacer referencia a Symfony2 se utilizara el acronimo Sf2.


    Palabras Claves: framework, symfony, symfony2, sf2, bundle, php




                                                
...UN PRIMER PROYECTO EN SYMFONY2

                                                                        CONFIGURACIÓN
                                                             MODELO­VISTA­CONTROLADOR



ANTES DE COMENZAR CON SYMFONY2
Su sistema operativo debe cumplir con los siguientes requerimientos basicos


 Apache             (es un servidor web)
  Puede utilizar el Apache o cualquier otro servidor web de su preferencia que soporte PHP


 PHP 5.3.x   (lenguaje de programación)
 Versiones anteriores de PHP no contienen algunas funciones que son utilizadas Symfony2


 GIT                    (Es un sistema de control de versiones)    
  El GIT es necesario para descargar la “última versión” y la “mas actualizada” de Symfony2 

 MySQL                  (Es un servidor de base de datos)    
  Es requerido para el ejemplo a desarrollar en este documento
                                                
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                CONFIGURACIÓN
                                                                     MODELO­VISTA­CONTROLADOR



CREAR “UNA CARPETA” PARA LOS PROYECTOS
EN ESTA CARPETA ESTARAN TODOS NUESTROS BUNDLES, PROYECTOS, APLICACIONES Y PRUEBAS


Definir el nombre de nuestra carpeta de proyectos
para este ejemplo vamos a utilizar el nombre proyectos­sf2

Ubicarse en la carpeta de ejecución del servidor web
La carpeta de proyectos debe estar una ruta con permisos de ejecución 
Usualmente en: linux “/var/www” o en windows  “c:/inetpub/web”

A continuación ejecutamos el siguiente comando
  git clone https://github.com/symfony/symfony­sandbox.git proyectos­sf2
   este comando creara la carpeta proyectos­sf2 y
   de forma automatica se descargará la “última versión”  y la “mas actualizada”
   del framework symfony2




                                                       
...UN PRIMER PROYECTO EN SYMFONY2

                                                           CONFIGURACIÓN
                                                MODELO­VISTA­CONTROLADOR



NOTAS DE CONFIGURACIÓN

Puede clonar a través del GIT otros repositorios importantes del Sf2 
como su documentación

Para ver todos repositorios oficiales del proyecto visite
   http://github.com/symfony




                                      
...UN PRIMER PROYECTO EN SYMFONY2

                                                       CONFIGURACIÓN
                                            MODELO­VISTA­CONTROLADOR


1.­ PROBAR LA INSTALACIÓN SYMFONY2
       http://localhost/proyectos­sf2/web/app_dev.php




2.­ CHEQUEAR EL ENTORNO DE TRABAJO SF2
       http://localhost/proyectos­sf2/web/check.php
                                      
...UN PRIMER PROYECTO EN SYMFONY2

                                                                             CONFIGURACIÓN
                                                                  MODELO­VISTA­CONTROLADOR


    Vamos crear el bundle MiEjemplo
    Esta será una aplicación que mostrará un simple listado con dos item

    Los objetivos:

    Familiarizar  al  programador  con  algunas  de  las  particularidades  de  Symfony2  como  por 
    ejemplo la estructura basica de un bundle

    Configurar el Entorno de trabajo, crear los archivos basicos del modelo­vista­controlador

    Conectarse a una base de datos y crear una tabla usando en Doctrine2

    Cargar algunos datos iniciales a la base datos

    Y si todo sale bien... mostrar una pagina en el navegador !




                                                      
...UN PRIMER PROYECTO EN SYMFONY2

                                                                            CONFIGURACIÓN
                                                                 MODELO­VISTA­CONTROLADOR



    Crear el bundle MiEjemplo
    Crear el directorio del Bundle
    mkdir ­p src/Application/MiEjemploBundle



    Crear y editar el archivo MiEjemploBundle.php
    src/Application/MiEjemploBundle/MiEjemploBundle.php


    Agrege el siguiente código
              <?php

              namespace ApplicationMiEjemploBundle;

              use SymfonyComponentHttpKernelBundleBundle;

              class MiEjemploBundle extends Bundle
              {
              }
                                                        
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                        CONFIGURACIÓN
                                                                             MODELO­VISTA­CONTROLADOR



    Registrar el bundle en AppKernel.php
    app/AppKernel.php


    Dentro del archivo AppKernel.php existe una función llamada RegisterBundles

    En esta función esta definido un arreglo de Bundles

    Los valores con los que se inicializa ese arreglo de Bundles, 
    estan separados en secciones, demarcadas  por comentarios

    Ahora hay  que ubicar el comentario
    // Register your Bundles

    Y registrar el bundle que acabamos de crear, agregando el siguiente codigo

         new ApplicationMiEjemploBundleMiEjemploBundle(),




                                                            
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                 CONFIGURACIÓN
                                                                      MODELO­VISTA­CONTROLADOR


    Definición de las tablas de la Base de Datos

    El modelo entidad­relación se detalla en el directorio Entity del Bundle 
    Por defecto, el directorio Entity no existe...

    Cree el directorio Entity
    mkdir ­p src/Application/MiEjemploBundle/Entity



                                                              <?php
                 Este es un ejemplo básico de la 
                                                              namespace ApplicationMiEjemploBundleEntity;
                   entidad que definiremos en la 
                                siguiente lamina              class MiEjemplo
                                                              {
                                                                protected $id;
                                                                public $title;
                                                                public $body;
                                                              }


        Nota:
                                                        
        La definición de las estructuras de las diferentes tabas de la base de datos de su aplicación son 
        parte del modelo ( esto dentro del concepto: modelo­vista­controlador )
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                    CONFIGURACIÓN
             Preparar el modelo                                          MODELO­VISTA­CONTROLADOR


                                                           <?php
Cree el directorio de la Entidad
mkdir src/Application/MiEjemploBundle/Entity               namespace ApplicationMiEjemploBundleEntity;

                                                           /**
                                                            * @orm:Entity
Edite el archivo MiEjemplo.php                              */
src/Application/MiEjemploBundle/Entity/MiEjemplo.php       class MiEjemplo
                                                           {
                                                               /**
                                                                * @orm:Id
                                                                * @orm:Column(type="integer")
Agrege el                                                       * @orm:GeneratedValue(strategy="IDENTITY")
                                                                */
siguiente código                                               protected $id;
                                                            
                                                               /**
                                                                * @orm:Column(type="string")
                                                                * @orm:Column(length="255")
                                                                */
                                                               private $title;

                                                               /**
                                                                * @orm:Column(type="string")
                                                                * @orm:Column(length="255")
                                                                */
                                                               private $body;
                                                           }
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                 CONFIGURACIÓN
                                                                      MODELO­VISTA­CONTROLADOR


    Continuamos preparando el modelo

    Crear el directorio de la Entidad(es)

    mkdir ­p  src/Application/MiEjemploBundle/DataFixtures/ORM




    Crear y editar el archivo MiEjemplo.php
    src/Application/MiEjemploBundle/DataFixtures/ORM/MiEjemplo.php




                                                        
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                     CONFIGURACIÓN
                                                                          MODELO­VISTA­CONTROLADOR
          Continuamos preparando el modelo
          Agrege el siguiente código
    <?php
    namespace ApplicationMiEjemploBundleDataFixturesORM;

    use DoctrineORMEntityManager,
          DoctrineCommonDataFixturesFixtureInterface,
          ApplicationMiEjemploBundleEntityMiEjemplo;

    class LoadEjemplos implements FixtureInterface
    {
        public function load($em)
        {
            $MiEjemplo1 = new MiEjemplo();
            $MiEjemplo1­>setTitle('Cesar Hernandez');
            $MiEjemplo1­>setBody('Ing. De Sistemas, graduado en la Universidad Bicentenaria de Aragua');
            $em­>persist($MiEjemplo1);

            $MiEjemplo2 = new MiEjemplo();
            $MiEjemplo2­>setTitle('Sebastian Hernandez');
            $MiEjemplo2­>setBody('Estudiante de Maternal, nacido en Lecheria, Estado Anzoátegui');
            $em­>persist($MiEjemplo2);

           $em­>flush();
        }
    }                                                       
...UN PRIMER PROYECTO EN SYMFONY2

                                                                          CONFIGURACIÓN
                                                               MODELO­VISTA­CONTROLADOR

Finalizamos la preparación del modelo 
Creación de la Base de Datos
                                                    ## Doctrine Configuration
    Edite el archivo Config.yml                     #doctrine.dbal:
    app/config/config.yml                           #    dbname:   xxxxxxxx
                                                    #    user:     xxxxxxxx
                                                    #    password: ~
    Alli encontrará el siguiente código  ­­­>
                                                    #doctrine.orm:
                                                    #    auto_generate_proxy_classes: %kernel.debug%
                                                    #    mappings:
                                                    #        HelloBundle: ~



                                                    # Doctrine Configuration
                                                    doctrine.dbal:
                                                        dbname:   MiEjemplo
                                                        user:     root
      Actualicelo asi ­­­­>                             password: root

                                                    doctrine.orm:
                                                        auto_generate_proxy_classes: %kernel.debug%
                                                        mappings:
                                                            MiEjemploBundle: ~
                                                            HelloBundle: ~
...UN PRIMER PROYECTO EN SYMFONY2

                                                                 CONFIGURACIÓN
                                                      MODELO­VISTA­CONTROLADOR


Ejecute los siguientes comandos


         php app/console doctrine:database:create

         php app/console doctrine:schema:create

         php app/console doctrine:generate:entities

         php app/console doctrine:data:load




                                           
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                 CONFIGURACIÓN
                                                                      MODELO­VISTA­CONTROLADOR


La Vista
Crear el directorio de la vista
mkdir ­p src/Application/MiEjemploBundle/Resources/views/MiEjemplo/


Crear y editar el archivo index.php
src/Application/MiEjemploBundle/Resources/Resources/views/MiEjemplo/index.php


          <?php  $view­>extend('::layout.php') ?>

          <h1> MiEjemplo </h1>

          <ul class='MiEjemplo'>
          <?php foreach($MiEjemplo as $MiEjemplo): ?>
            <li>
               <h2><?php echo $MiEjemplo­>GetTitle(); ?></h2>
               <p><?php echo $MiEjemplo­>GetBody(); ?></p>
            </li>
          <?php endforeach; ?>
          </ul>




                                                       
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                                        CONFIGURACIÓN
                                                                                             MODELO­VISTA­CONTROLADOR


  El Controlador
  Crear el directorio del Controlador
  mkdir ­p src/Application/MiEjemploBundle/Controller


  Crear y editar el archivo MiEjemploController.php
  src/Application/MiEjemploBundle/Controller/MiEjemploController.php


<?php

namespace ApplicationMiEjemploBundleController;

use SymfonyBundleFrameworkBundleControllerController;

class MiEjemploController extends Controller
{
  public function indexAction()
  {
    $em = $this­>container­>get('doctrine.orm.entity_manager');

    $MiEjemplo = $em­>createQuery('SELECT b FROM ApplicationMiEjemploBundleEntityMiEjemplo b ORDER BY b.body DESC')­>execute();

    return $this­>render('MiEjemploBundle:MiEjemplo:index.php', array('MiEjemplo' => $MiEjemplo));
  }
}

                                                                         
...UN PRIMER PROYECTO EN SYMFONY2

                                                                                        CONFIGURACIÓN
                                                                             MODELO­VISTA­CONTROLADOR

Terminando la configuración de la vista ­ El Routing

Crear el directorio de configuración de la vista del Bundle
mkdir ­p src/Application/MiEjemploBundle/Resources/config/


Crear y editar el archivo routing.yml
mkdir ­p src/Application/MiEjemploBundle/Resources/config/routing.yml

                                      MiEjemplo:
                                          pattern:     /MiEjemplo
                                          defaults: { _controller: MiEjemploBundle:MiEjemplo:index}


Integramos el routing.yml del bundle al archivo 
routing.yml principal del Sf2
gedit app/config/routing.yml
                                      MiEjemplo:
                                          resource:  MiEjemploBundle/Resources/config/routing.yml




                                                          
...UN PRIMER PROYECTO EN SYMFONY2

                                                                     CONFIGURACIÓN
                                                          MODELO­VISTA­CONTROLADOR

Limpiamos el cache de Symfony2
Ejecutando en la consola del sistema operativo



     rm ­rf app/cache/*



 Si todo salio bien, probamos el bundle 
 en nuestro navegador

        http://localhost/proyectos­sf2/web/app_dev.php/MiEjemplo




                                                  

Contenu connexe

Tendances

Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Raul Fraile
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularFreelancer
 
PHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseñoPHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseñoRightster
 
PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebRightster
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Raul Fraile
 
PHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebPHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebRightster
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2Raul Fraile
 
Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php
Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php
Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php luigiacarigua
 
Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...
Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...
Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...luigiacarigua
 
Symfony2, Jornadas Symfony
Symfony2, Jornadas SymfonySymfony2, Jornadas Symfony
Symfony2, Jornadas SymfonyJavier Eguiluz
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPRightster
 
Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLRightster
 
Aprendiendo php my sql, javascript, css, html5 capitulo 2
Aprendiendo php my sql, javascript, css, html5 capitulo 2Aprendiendo php my sql, javascript, css, html5 capitulo 2
Aprendiendo php my sql, javascript, css, html5 capitulo 2luigiacarigua
 

Tendances (20)

Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
PHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseñoPHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseño
 
PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad Web
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
 
Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP
 
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
 
PHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebPHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios Web
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2
 
Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php
Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php
Aprendiendo php my sql, javascript, css, html5 capitulo 3 (introduccion a php
 
Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...
Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...
Aprendiendo php my sql, javascript, css, html5 capitulo 4 expresiones y contr...
 
Symfony2, Jornadas Symfony
Symfony2, Jornadas SymfonySymfony2, Jornadas Symfony
Symfony2, Jornadas Symfony
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHP
 
Symfony2
Symfony2Symfony2
Symfony2
 
9.laravel
9.laravel9.laravel
9.laravel
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 
Aprendiendo php my sql, javascript, css, html5 capitulo 2
Aprendiendo php my sql, javascript, css, html5 capitulo 2Aprendiendo php my sql, javascript, css, html5 capitulo 2
Aprendiendo php my sql, javascript, css, html5 capitulo 2
 

En vedette

Herramientas publicación gis web poroceso y análisis
Herramientas publicación gis web   poroceso y análisisHerramientas publicación gis web   poroceso y análisis
Herramientas publicación gis web poroceso y análisisUrban Data Analytics
 
Eppur si muove - SIG Libre Girona
Eppur si muove - SIG Libre GironaEppur si muove - SIG Libre Girona
Eppur si muove - SIG Libre GironaJordi Graells
 
Symfony2 admingenerator
Symfony2 admingeneratorSymfony2 admingenerator
Symfony2 admingeneratorsymfony_bcn
 
Paty carbajal presentacion
Paty carbajal presentacionPaty carbajal presentacion
Paty carbajal presentacionpatty_bperdomo21
 
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...Esri
 
Modeliza de variables_climaticas2
Modeliza de variables_climaticas2Modeliza de variables_climaticas2
Modeliza de variables_climaticas2Lucas83
 
Clase 1 introducción a symfony 2
Clase 1   introducción a symfony 2Clase 1   introducción a symfony 2
Clase 1 introducción a symfony 2hydras_cs
 
Redis–symfony–barcelona–31 05-2012
Redis–symfony–barcelona–31 05-2012Redis–symfony–barcelona–31 05-2012
Redis–symfony–barcelona–31 05-2012symfony_bcn
 
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Javier Eguiluz
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XPJorw Yengle
 
Metaprogramación Compositiva en JavaScript
Metaprogramación Compositiva en JavaScriptMetaprogramación Compositiva en JavaScript
Metaprogramación Compositiva en JavaScriptJavier Vélez Reyes
 
Introduccion Sig
Introduccion SigIntroduccion Sig
Introduccion SigC G
 
Programación Extrema
Programación ExtremaProgramación Extrema
Programación Extremaurumisama
 
SIG en la Web: Fundamentos
SIG en la Web: FundamentosSIG en la Web: Fundamentos
SIG en la Web: FundamentosLeandro Zamudio
 
Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2Ronny López
 
Fundamentos de un SIG e introducción a las Geodatabase
Fundamentos de un SIG e introducción a las GeodatabaseFundamentos de un SIG e introducción a las Geodatabase
Fundamentos de un SIG e introducción a las GeodatabaseLeandro Zamudio
 

En vedette (20)

Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Herramientas publicación gis web poroceso y análisis
Herramientas publicación gis web   poroceso y análisisHerramientas publicación gis web   poroceso y análisis
Herramientas publicación gis web poroceso y análisis
 
Eppur si muove - SIG Libre Girona
Eppur si muove - SIG Libre GironaEppur si muove - SIG Libre Girona
Eppur si muove - SIG Libre Girona
 
Symfony2 admingenerator
Symfony2 admingeneratorSymfony2 admingenerator
Symfony2 admingenerator
 
Paty carbajal presentacion
Paty carbajal presentacionPaty carbajal presentacion
Paty carbajal presentacion
 
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...
Geografía como plataforma: API REST vs OGC y Geodatabases - Conferencia Esri ...
 
Modeliza de variables_climaticas2
Modeliza de variables_climaticas2Modeliza de variables_climaticas2
Modeliza de variables_climaticas2
 
Clase 1 introducción a symfony 2
Clase 1   introducción a symfony 2Clase 1   introducción a symfony 2
Clase 1 introducción a symfony 2
 
Redis–symfony–barcelona–31 05-2012
Redis–symfony–barcelona–31 05-2012Redis–symfony–barcelona–31 05-2012
Redis–symfony–barcelona–31 05-2012
 
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XP
 
Web components
Web componentsWeb components
Web components
 
Metodologia rad XP
Metodologia rad XPMetodologia rad XP
Metodologia rad XP
 
Aplicaciones Machine Learning GIS
Aplicaciones Machine Learning GISAplicaciones Machine Learning GIS
Aplicaciones Machine Learning GIS
 
Metaprogramación Compositiva en JavaScript
Metaprogramación Compositiva en JavaScriptMetaprogramación Compositiva en JavaScript
Metaprogramación Compositiva en JavaScript
 
Introduccion Sig
Introduccion SigIntroduccion Sig
Introduccion Sig
 
Programación Extrema
Programación ExtremaProgramación Extrema
Programación Extrema
 
SIG en la Web: Fundamentos
SIG en la Web: FundamentosSIG en la Web: Fundamentos
SIG en la Web: Fundamentos
 
Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2
 
Fundamentos de un SIG e introducción a las Geodatabase
Fundamentos de un SIG e introducción a las GeodatabaseFundamentos de un SIG e introducción a las Geodatabase
Fundamentos de un SIG e introducción a las Geodatabase
 

Similaire à Mi primer programa en Symfony2

Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosDesymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosJavier Eguiluz
 
Desymfony 2011 - Tutorial #5: Backend
Desymfony 2011 - Tutorial #5: BackendDesymfony 2011 - Tutorial #5: Backend
Desymfony 2011 - Tutorial #5: BackendJavier Eguiluz
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Yaismel Miranda
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Ricard Luquero
 
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundoEjemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundoIvan Luis Jimenez
 
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...Ivan Luis Jimenez
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasoshydras_cs
 
Symfony2 y su ecosistema
Symfony2 y su ecosistemaSymfony2 y su ecosistema
Symfony2 y su ecosistemajaviacei
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend FrameworkIrontec
 
Guia practica 1.0 2011
Guia practica 1.0  2011Guia practica 1.0  2011
Guia practica 1.0 2011puchichin666
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webIEBSchool
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones websergiovier
 

Similaire à Mi primer programa en Symfony2 (20)

Resumen semana2
Resumen semana2Resumen semana2
Resumen semana2
 
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosDesymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
 
Desymfony 2011 - Tutorial #5: Backend
Desymfony 2011 - Tutorial #5: BackendDesymfony 2011 - Tutorial #5: Backend
Desymfony 2011 - Tutorial #5: Backend
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1
 
Compilación de programas
Compilación de programasCompilación de programas
Compilación de programas
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundoEjemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
Ejemplo de Makefile en LINUX con lenguaje C compilando HolaMundo
 
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...
Ejemplo práctico de uso de Makefile en LINUX (Compilando modulos de holamundo...
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Symfony2 y su ecosistema
Symfony2 y su ecosistemaSymfony2 y su ecosistema
Symfony2 y su ecosistema
 
Clase celulares
Clase celularesClase celulares
Clase celulares
 
Symfony
SymfonySymfony
Symfony
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 
Modulos
ModulosModulos
Modulos
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Guia practica 1.0 2011
Guia practica 1.0  2011Guia practica 1.0  2011
Guia practica 1.0 2011
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo web
 
Enclausulamiento java
Enclausulamiento javaEnclausulamiento java
Enclausulamiento java
 
Backend (sf2Vigo)
Backend (sf2Vigo)Backend (sf2Vigo)
Backend (sf2Vigo)
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
 

Dernier

PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 

Dernier (20)

PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 

Mi primer programa en Symfony2

  • 1. ...UN PRIMER PROYECTO EN SYMFONY2 SYMFONY2 PRIMER PROYECTO EN SYMFONY2     CÉSAR HERNÁNDEZ dpcesar@gmail.com Version 0002­12­11
  • 2. ...UN PRIMER PROYECTO EN SYMFONY2 Resumen (Abstract): Este  papel  de  trabajo,  en  formato  de  presentación,  tiene como objetivos: aclarar un poco “algo acerca la  teoria de sistemas” utilizada en  Symfony2; y crear un  ; y proyecto  sencillo  que  adiestre  al  nuevo  programador  acerca de esta versión del framework de symfony. Para hacer referencia a Symfony2 se utilizara el acronimo Sf2. Palabras Claves: framework, symfony, symfony2, sf2, bundle, php    
  • 3. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR ANTES DE COMENZAR CON SYMFONY2 Su sistema operativo debe cumplir con los siguientes requerimientos basicos  Apache   (es un servidor web)   Puede utilizar el Apache o cualquier otro servidor web de su preferencia que soporte PHP  PHP 5.3.x   (lenguaje de programación)  Versiones anteriores de PHP no contienen algunas funciones que son utilizadas Symfony2  GIT   (Es un sistema de control de versiones)       El GIT es necesario para descargar la “última versión” y la “mas actualizada” de Symfony2   MySQL   (Es un servidor de base de datos)       Es requerido para el ejemplo a desarrollar en este documento    
  • 4. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR CREAR “UNA CARPETA” PARA LOS PROYECTOS EN ESTA CARPETA ESTARAN TODOS NUESTROS BUNDLES, PROYECTOS, APLICACIONES Y PRUEBAS Definir el nombre de nuestra carpeta de proyectos para este ejemplo vamos a utilizar el nombre proyectos­sf2 Ubicarse en la carpeta de ejecución del servidor web La carpeta de proyectos debe estar una ruta con permisos de ejecución  Usualmente en: linux “/var/www” o en windows  “c:/inetpub/web” A continuación ejecutamos el siguiente comando   git clone https://github.com/symfony/symfony­sandbox.git proyectos­sf2    este comando creara la carpeta proyectos­sf2 y    de forma automatica se descargará la “última versión”  y la “mas actualizada”    del framework symfony2    
  • 5. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR NOTAS DE CONFIGURACIÓN Puede clonar a través del GIT otros repositorios importantes del Sf2  como su documentación Para ver todos repositorios oficiales del proyecto visite    http://github.com/symfony    
  • 6. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR 1.­ PROBAR LA INSTALACIÓN SYMFONY2        http://localhost/proyectos­sf2/web/app_dev.php 2.­ CHEQUEAR EL ENTORNO DE TRABAJO SF2        http://localhost/proyectos­sf2/web/check.php    
  • 7. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Vamos crear el bundle MiEjemplo Esta será una aplicación que mostrará un simple listado con dos item Los objetivos: Familiarizar  al  programador  con  algunas  de  las  particularidades  de  Symfony2  como  por  ejemplo la estructura basica de un bundle Configurar el Entorno de trabajo, crear los archivos basicos del modelo­vista­controlador Conectarse a una base de datos y crear una tabla usando en Doctrine2 Cargar algunos datos iniciales a la base datos Y si todo sale bien... mostrar una pagina en el navegador !    
  • 8. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Crear el bundle MiEjemplo Crear el directorio del Bundle mkdir ­p src/Application/MiEjemploBundle Crear y editar el archivo MiEjemploBundle.php src/Application/MiEjemploBundle/MiEjemploBundle.php Agrege el siguiente código <?php namespace ApplicationMiEjemploBundle; use SymfonyComponentHttpKernelBundleBundle; class MiEjemploBundle extends Bundle { }    
  • 9. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Registrar el bundle en AppKernel.php app/AppKernel.php Dentro del archivo AppKernel.php existe una función llamada RegisterBundles En esta función esta definido un arreglo de Bundles Los valores con los que se inicializa ese arreglo de Bundles,  estan separados en secciones, demarcadas  por comentarios Ahora hay  que ubicar el comentario // Register your Bundles Y registrar el bundle que acabamos de crear, agregando el siguiente codigo new ApplicationMiEjemploBundleMiEjemploBundle(),    
  • 10. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Definición de las tablas de la Base de Datos El modelo entidad­relación se detalla en el directorio Entity del Bundle  Por defecto, el directorio Entity no existe... Cree el directorio Entity mkdir ­p src/Application/MiEjemploBundle/Entity <?php Este es un ejemplo básico de la  namespace ApplicationMiEjemploBundleEntity; entidad que definiremos en la  siguiente lamina class MiEjemplo {   protected $id;   public $title;   public $body; } Nota:     La definición de las estructuras de las diferentes tabas de la base de datos de su aplicación son  parte del modelo ( esto dentro del concepto: modelo­vista­controlador )
  • 11. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN Preparar el modelo MODELO­VISTA­CONTROLADOR <?php Cree el directorio de la Entidad mkdir src/Application/MiEjemploBundle/Entity namespace ApplicationMiEjemploBundleEntity; /**  * @orm:Entity Edite el archivo MiEjemplo.php  */ src/Application/MiEjemploBundle/Entity/MiEjemplo.php class MiEjemplo {     /**      * @orm:Id      * @orm:Column(type="integer") Agrege el       * @orm:GeneratedValue(strategy="IDENTITY")      */ siguiente código     protected $id;       /**      * @orm:Column(type="string")      * @orm:Column(length="255")      */     private $title;     /**      * @orm:Column(type="string")      * @orm:Column(length="255")      */     private $body;     }
  • 12. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Continuamos preparando el modelo Crear el directorio de la Entidad(es) mkdir ­p  src/Application/MiEjemploBundle/DataFixtures/ORM Crear y editar el archivo MiEjemplo.php src/Application/MiEjemploBundle/DataFixtures/ORM/MiEjemplo.php    
  • 13. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Continuamos preparando el modelo Agrege el siguiente código <?php namespace ApplicationMiEjemploBundleDataFixturesORM; use DoctrineORMEntityManager,       DoctrineCommonDataFixturesFixtureInterface,       ApplicationMiEjemploBundleEntityMiEjemplo; class LoadEjemplos implements FixtureInterface {     public function load($em)     {         $MiEjemplo1 = new MiEjemplo();         $MiEjemplo1­>setTitle('Cesar Hernandez');         $MiEjemplo1­>setBody('Ing. De Sistemas, graduado en la Universidad Bicentenaria de Aragua');         $em­>persist($MiEjemplo1);         $MiEjemplo2 = new MiEjemplo();         $MiEjemplo2­>setTitle('Sebastian Hernandez');         $MiEjemplo2­>setBody('Estudiante de Maternal, nacido en Lecheria, Estado Anzoátegui');         $em­>persist($MiEjemplo2);        $em­>flush();     }   }  
  • 14. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Finalizamos la preparación del modelo  Creación de la Base de Datos ## Doctrine Configuration Edite el archivo Config.yml #doctrine.dbal: app/config/config.yml #    dbname:   xxxxxxxx #    user:     xxxxxxxx #    password: ~ Alli encontrará el siguiente código  ­­­> #doctrine.orm: #    auto_generate_proxy_classes: %kernel.debug% #    mappings: #        HelloBundle: ~ # Doctrine Configuration doctrine.dbal:     dbname:   MiEjemplo     user:     root Actualicelo asi ­­­­>     password: root doctrine.orm:     auto_generate_proxy_classes: %kernel.debug%     mappings:         MiEjemploBundle: ~             HelloBundle: ~
  • 15. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Ejecute los siguientes comandos php app/console doctrine:database:create php app/console doctrine:schema:create php app/console doctrine:generate:entities php app/console doctrine:data:load    
  • 16. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR La Vista Crear el directorio de la vista mkdir ­p src/Application/MiEjemploBundle/Resources/views/MiEjemplo/ Crear y editar el archivo index.php src/Application/MiEjemploBundle/Resources/Resources/views/MiEjemplo/index.php <?php  $view­>extend('::layout.php') ?> <h1> MiEjemplo </h1> <ul class='MiEjemplo'> <?php foreach($MiEjemplo as $MiEjemplo): ?>   <li>      <h2><?php echo $MiEjemplo­>GetTitle(); ?></h2>      <p><?php echo $MiEjemplo­>GetBody(); ?></p>   </li> <?php endforeach; ?> </ul>    
  • 17. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR El Controlador Crear el directorio del Controlador mkdir ­p src/Application/MiEjemploBundle/Controller Crear y editar el archivo MiEjemploController.php src/Application/MiEjemploBundle/Controller/MiEjemploController.php <?php namespace ApplicationMiEjemploBundleController; use SymfonyBundleFrameworkBundleControllerController; class MiEjemploController extends Controller {   public function indexAction()   {     $em = $this­>container­>get('doctrine.orm.entity_manager');     $MiEjemplo = $em­>createQuery('SELECT b FROM ApplicationMiEjemploBundleEntityMiEjemplo b ORDER BY b.body DESC')­>execute();     return $this­>render('MiEjemploBundle:MiEjemplo:index.php', array('MiEjemplo' => $MiEjemplo));   } }    
  • 18. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Terminando la configuración de la vista ­ El Routing Crear el directorio de configuración de la vista del Bundle mkdir ­p src/Application/MiEjemploBundle/Resources/config/ Crear y editar el archivo routing.yml mkdir ­p src/Application/MiEjemploBundle/Resources/config/routing.yml MiEjemplo:     pattern:     /MiEjemplo     defaults: { _controller: MiEjemploBundle:MiEjemplo:index} Integramos el routing.yml del bundle al archivo  routing.yml principal del Sf2 gedit app/config/routing.yml MiEjemplo:     resource:  MiEjemploBundle/Resources/config/routing.yml    
  • 19. ...UN PRIMER PROYECTO EN SYMFONY2 CONFIGURACIÓN MODELO­VISTA­CONTROLADOR Limpiamos el cache de Symfony2 Ejecutando en la consola del sistema operativo      rm ­rf app/cache/* Si todo salio bien, probamos el bundle  en nuestro navegador        http://localhost/proyectos­sf2/web/app_dev.php/MiEjemplo