Guía de Symfony2 – Maestros del Web – Indice de capítulos

Symfony es un framework de desarrollo PHP para profesionales. En conjunto con Maestros del Web y Maycol Alvarez hemos escrito esta guía sobre este framework para dar opciones a los desarrolladores PHP a encontrar material importante y poder tener rápidamente un conocimiento de todo el framework para iniciar un proyecto contando con las nociones necesarias para ello.

La guía se encuentra publicada en sitio de Maestros del Web pero abajo les dejo el índice de los capítulos de la guía y el link a los resúmenes semanales que fui escribiendo.

Cualquier comentario o pregunta las espero abajo.

También puedes descargar la guía desde aquí


Descubre más desde Neurosimbiosis

Suscríbete y recibe las últimas entradas en tu correo electrónico.

11 comentarios en “Guía de Symfony2 – Maestros del Web – Indice de capítulos”

  1. Hola, soy nueva en symfony, pero quiero felictaros y daros las gracias por este manual con el que he aprendido mucho.
    Ahora que ya tengo una pequeña aplicación con la que he puesto en práctica los conocimientos, me dispongo a desplegarla en un host compartido que cumple los requisitos necesarios, pero no se como hacerlo. Hasta ahora todas las pruebas la he reliazado en local.
    Me podrías indicar los pasos a seguir o algún manual explicativo.

    Gracias. Isabel

    1. ISABEL, gracias por tus comentarios 🙂 me alegro que te haya servido.

      Para subirlo a un server por lo general tienes en tu cuenta de hosting una carpeta public_html/ o web/ y esa sería tu carpeta publica. Todo lo que esté por debajo de esta carpeta no será publico. Lo ideal sería que la carpeta web/ de «tu proyecto Symfony» sea la carpeta pública de tu hosting. Es decir que puedes copiar el contenido de la carpeta web/ del proyecto y mover los archivos a la carpeta public_html/ o web/ del hosting. El resto de tus carpetas de Symfony (app/, bin/, src/, vendor/) deberían estar ya en la carpeta padre del hosting. Con esto logras que las carpetas que no sean la web/ no puedan ser accedidas.

      Supongamos que tu proyecto se llama Symfony y que tienes esta estructura en tu proyecto y en tu hosting:

      Symfony
      – app
      – bin
      – src
      – vendor
      – web
      — app.php + otros archivos

      hosting
      – public_html
      – otra carpeta no publica

      Mueve el contenido de la carpeta web/ del proyecto a la carpeta public_html y el proyecto déjalo al mismo nivel de la carpeta public_html quedando así en tu hosting

      hosting
      – public_html
      — app.php + otros archivos
      – Symfony
      – otra carpeta no publica

      Ahora, como has cambiado el contenido de la carpeta web tienes que modificar las rutas que aparecen en los controladores frontales al inicio para que siga encontrando los archivos que levantan el framework.

      require_once __DIR__.’/../app/bootstrap.php.cache’;
      require_once __DIR__.’/../app/AppKernel.php’;

      Corrije esta ruta y ya debería de funcionar 🙂

      require_once __DIR__.’/../Symfony/app/bootstrap.php.cache’;
      require_once __DIR__.’/../Symfony/app/AppKernel.php’;

      Coméntame tu progreso.

      1. Hola amigo muy bueno tu trabajo, creame que me ayudo mucho… Me gustaria que dentro de sus posibilidades dedicara un post a subir multiples archivos con un js como valums file uploader. saludos

  2. Muchismas gracias, por su respuesta. He seguido sus indicaciones, pero no consigo que se concecte a la base de datos.
    He creado la base de datos con un usuario con contraseña. He realizado la prueba en localhost con todo igual sólo que en local y funciona correctamente.
    Pero en remoto no lo consigo.

    Las caracteristicas del servidor de datos remoto son las siguientes:

    Servidor: mysql2 via TCP/IP
    Versión del servidor: 5.1.49-3~bpo50+1
    Versión del protocolo: 10
    Usuario: [email protected]
    Juegos de caracteres de MySQL: UTF-8 Unicode (utf8)

    La configuración que he puesto en parameters.ini es la siguiente:

    [parameters]
    database_driver=»pdo_mysql»
    database_host=»178.32.28.100″
    database_port=»»
    database_name=»gestioncv_blog»
    database_user=»gestioncv»
    database_password=»BBnfmnNaNScU79MZ»
    mailer_transport=»smtp»
    mailer_host=»localhost»
    mailer_user=»»
    mailer_password=»»
    locale=»es»
    secret=»080829db3fc4b961a80d953ead12d969a65ebe14″

    El error que se muestra es :

    500 Internal Server Error – PDOException
    1 linked Exception: ErrorException »

    Podría indicarme, dónde estoy equivocandome. Muchas gracias por su dedicación.

    Isabel

  3. Hola de nuevo, ya lo he logrado el database_host es mysql2.alwaysdata.com.

    Alwaysdata es un host que reune todas las características necesarias para symfony.

    Ahora tengo otra tarea que resolver, no reconoce la tabla articles, el error es el siguiente:

    SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘gestioncv_blog.Articles’ doesn’t exist
    500 Internal Server Error – PDOException

    Voy a ver que sucede, serán siempre bienvenidos sus consejos.

    Muchas gracias por todo, Isabel

  4. gestioncv_blog.Articles
    base de datos: gestioncv_blog
    tabla: Articles
    ISABEL, tu problema radica en que en tu aplicación tienes una base de datos que quizá no sea la correcta, o la tabla no ha sido creada, procura configurar ambas cosas correctamente.

    PD:
    Excelente publicación! bastante útil

      1. Hola Antonio, a la hora de subir el proyecto a un servidor compartido, así lo hice.
        1. Pasa el proyecto a producion—-> en el fichero web/app.php
        $kernel = new AppKernel(‘prod’, false);//cambiar a true para entorno de producion
        En el fichero web/app_dev.phph
        $kernel = new AppKernel(‘dev’, true); //cambiar a false cuando se vaya a produccion

        2.Vacia app/cache/prod, app/cache/dev y app/cache/test
        3.Vacia el contenido de la carpte app/logs
        4.Sube el contenido de la carpeta web a la parte pública del servidor (www o html_public)
        4.Sube el proyecto al raiz
        5.Modifica app.php
        require_once __DIR__.’/../TuProyecto/app/bootstrap.php.cache’;
        require_once __DIR__.’/../TuProyecto/app/AppKernel.php’;

        Espero que te funcione.Un Saludo

  5. Un saludo amigo. Leyendo la guía hay algo que no me queda claro y es porque no me funciona.

    En el capitulo CREANDO PÁGINAS CON SYMFONY 2 en el ejemplo 1 paso 1, ud menciona que hay que crear la ruta para la pagina agregando:
    articulos:
    pattern: /articulos
    defaults: { _controller: MDWDemoBundle:Default:articulos }

    Mi problema está en que en ese archivo routing.yml tenia previamente definida la ruta anterior. Entonces si agrego esta ultima entrada mi archivo routing. yml queda de la siguiente manera.
    ///////////////////////////////////////////
    md_wdemo_homepage:
    pattern: /hello/{name}
    defaults: { _controller: MDWdemoBundle:Default:index }

    articulos:
    pattern: /articulos
    defaults: { _controller: MDWdemoBundle:Default:articulos }
    /////////////////////////////////////////////////////////////

    El archivo de esta forma no me permite visualizar el ejemplo debido a que da un error.

    si solo dejo la ruta de uno de los 2 puedo visualizar aquel elemento cuya ruta esta definida, es decir si dejo articulos, solo puedo visualizar la pagina articulos.

    Evidentemente mi duda es, cual es la forma de agregar dichas rutas al archivo routing.yml.

    Saludos compañero y agradezco mucho el cual se haya tomado el trabajo de hacer esta guia, que ha dia de hoy aun tiene vigencia para los que estamos conociendo este Framework!

    1. Hector. No se que error te estaría dando, en todo caso si me lo puedes pasar lo puedo revisar, pero lo que es muy común que pase es que entre las dos rutas no tienen que haber espacios vacíos en el yaml.

      md_wdemo_homepage:
      pattern: /hello/{name}
      defaults: { _controller: MDWdemoBundle:Default:index }
      <-- asegurate de no tener espacios en blanco aquí. Puedes tener espacios hacia abajo (enters) pero no hacía los costados (barra espaciadora) articulos: pattern: /articulos defaults: { _controller: MDWdemoBundle:Default:articulos }

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *