Paginación en Symfony2
Seguimos desarrollando nuestra aplicación tipo blog con Symfony2, en este caso vamos a ver como listar los posts incluyendo la paginación en Symfony2. Primero crearemos la ruta, que ya teníamos definida de antes. inicio: pattern: / defaults: { _controller: WebBlogBundle:Posts:index, page:1 } home: pattern: /inicio/{page} defaults: { _controller: WebBlogBundle:Posts:index, page:1 } Ahora crearemos un nuevo método en el repositorio de la entidad Posts que listará y paginará los posts....
Subir ficheros en Symfony2
En el post anterior hemos visto como crear el formulario de añadir posts, sin embargo no funciona la subida de la imágen. En este artículo veremos como subir ficheros en Symfony2. Es sencillo, simplemente en nuestro formulario definimos un campo tipo file y en la entidad añadimos los siguientes métodos. //SUBIDAS public function getAbsolutePath() { return null === $this->image ? null : $this->getUploadRootDir() . '/' . $this->image; } public...
Symfony2 desde 0: Añadir Posts
Si ya tenemos el login y registro con Symfony2, cuando nos identifiquemos en la parte superior derecha ya tenemos lo siguiente Ese link llevará a un controlador para añadir post. Primero crearemos el formulario que nos servirá para añadir y editar posts. Es importante prestar atención a como están configurados cada uno de los campos. <?php namespace Web\BlogBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class PostsType extends AbstractType {...
Repositorios de entidades personalizados en Symfony2
Para abstraer la lógica de negocio de los controladores podemos crear repositorios de entidades personalizados, esto nos permite llevarnos todo el tema del manejo de la base de datos a una clase aislada del controlador. Esto es lo que yo llamaba en otros frameworks como modelo o modelo de consulta. Para crear un repositorio en el que añadir nuevos métodos para el modelo tenemos que crear un fichero, por...
Symfony2 desde 0: Login y registro
Ahora veremos como hacer un login y registro con Symfony2. En el post anterior definimos la plantilla en la que montamos el formulario de login. ¡OJO! Con el name de username y password en el formulario de login, es necesario que delante tengan un guión bajo. Ahora montaremos el sistema de autenticación que nos proporciona Symfony2. Definiremos las rutas que necesitaremos hasta ahora en el fichero routing.yml de nuestro...
Symfony2 desde 0: Plantilla base
Definiremos la plantilla base para nuestras vistas en el fichero app/Resources/views/plantilla.html.twig En el definiremos algunos bloques, montaremos una navbar con Bootstrap, y el formulario de login. <!DOCTYPE HTML> <html lang="es"> <head> <meta charset="utf8"/> <title>{% block title %} Blog en Symfony2 - victorroblesweb.es{% endblock %}</title> <!-- jQuery CDN --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <!-- Bootstrap CDN --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> </head> <body> <header> <nav class="navbar navbar-default"> <div...
Symfony2 desde 0: Relaciones en Doctrine
Hemos generado las entidades automáticamente y también hemos indicado que la definición de estas estará en archivos yml. Ahora vamos a ver las relaciones en Doctrine que utilizaremos para el blog. Src/Web/BlogBundle/Resources/config/doctrine/Posts.orm.yml aquí tenemos la definición de cada campo y de las relaciones. Web\BlogBundle\Entity\Posts: type: entity table: posts indexes: fk_category_post: columns: - category_id fk_user_post: columns: - user_id id: id: type: bigint nullable: false unsigned: false id: true generator: strategy:...
Symfony2 desde 0: Crear bundle y generar entidades
Lo que realmente cuesta de pillar a la hora de programar con un framework tan potente como Symfony2 es el proceso de creación de una aplicación web con el. Eso es siempre lo que más me cuesta de entender cuando empiezo a aprender una tecnología. Pues bien voy a comenzar a publicar una serie de posts en los que desarrollaremos una aplicación web con Symfony2 desde 0 y de...
Validar formularios en Symfony2
Un aspecto fundamental a la hora de trabajar con formularios es la validación de los datos que llegan de los mismos. Veamos como validar formularios en Symfony2. Tenemos este formulario creado. <?php namespace Pruebas\EjemploBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Doctrine\ORM\EntityRepository; class PostsType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title','text',array("required"=>false, 'attr' => array('class'=>'form-control')...
Personalizar formularios en la vista en Symfony2
Personalizar formularios en la vista en Symfony2 Hoy veremos como personalizar formularios en la vista en Symfony2. Ya tenemos nuestro formulario creado y con el código necesario en el controlador. <?php namespace Pruebas\EjemploBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class PostsType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title','text',array("required"=>true, 'attr' => array('class'=>'form-control') )) ->add('description','textarea',array("required"=>true, 'attr'...
Crear formularios en Symfony2
Los formularios son un aspecto fundamental dentro del desarrollo de aplicaciones web y por eso es tan importante que un framework nos solucione problemas y nos agilice el trabajo con ellos. Ahora veremos como crear formularios en Symfony2. En Symfony2 tenemos un comando para casi cualquier cosa, para crear un formulario en Symfony2 tenemos el comando: php app/console doctrine:generate:form NamespaceDeMiBundle:Entidad Esto nos generará una clase dentro del directorio Form...
var_dump en Twig
Veamos como hacer un var_dump en Twig, ya que es muy necesario a la hora de programar en PHP. {# var_dump() en Twig #} {{ dump(posts) }} Symfony nos pintará algo así: ¿Quieres más? Vídeo Curso de Symfony3 ¡Domina el framework PHP más...