Validar formularios en Symfony2
Ene14

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')...

Leer más
Personalizar formularios en la vista en Symfony2
Ene13

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'...

Leer más
Crear formularios en Symfony2
Ene12

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...

Leer más
var_dump en Twig
Ene11

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...

Leer más
Variables superglobales en Twig
Ene10

Variables superglobales en Twig

Podemos consergir los valores de diversas variables superglobales en Twig. Conseguir datos del usuario identificado: app.user Conseguir datos de get y post: app.request app.request.get('foo') //get app.request.request.get('foo') //post Sesiones: app.session Otros: app.environment app.debug ¿Quieres más? Vídeo Curso de Symfony3 ¡Domina el framework PHP más completo! Más información: Symfony2 Cheatsheet...

Leer más
Plantillas en Symfony2
Ene09

Plantillas en Symfony2

Las plantillas en Symfony2 se pueden definir de manera global en el directorio app/Resources/views/default/ y con twig podemos definir una serie de bloques que luego serán utilizados en las vistas normales para “rellenar” esa plantilla. Veamos un ejemplo. Plantilla.html.twig <!DOCTYPE HTML> <html lang="es"> <head> <meta charset="utf8"/> <title>{% block title %} Plantillas en Symfony2 {% endblock %}</title> </head> <body> <div class="content">{%block content %} Contenido vacio por defecto {%endblock%}</div> </body> </html>...

Leer más
Vistas en Symfony2
Ene08

Vistas en Symfony2

Las vistas en Symfony2 se colocan en el directorio views de nuestro Bundle y dentro de un directorio con el nombre del controlador al que corresponden. En la acción devolvemos el render de la vista y le pasamos los parámetros, de esta forma: return $this->render("PruebasEjemploBundle:Default:listar.html.twig", array( "posts"=>$po )); Después en la vista con Twig podremos hacer muchas cosas: {# Comentario en Twig Estamos en MIBUNDLE/views/Default/listar.html.twig #} {# Imprimir en...

Leer más
Ejecutar consultas SQL en Symfony2 / 2.8 / 3
Ene07

Ejecutar consultas SQL en Symfony2 / 2.8 / 3

Hay veces que cuando utilizamos un framework necesitamos ejecutar consultas SQL nativas. Hoy veremos como ejecutar consultas SQL en Symfony2 mediante Doctrine 2. En una acción por ejemplo: //Entity manager y conexión a la BD $em = $this->getDoctrine()->getEntityManager(); $db = $em->getConnection(); $query = "SELECT * FROM posts; "; $stmt = $db->prepare($query); $params = array(); $stmt->execute($params); $po=$stmt->fetchAll(); // Mostrar todo foreach ($po as $p) { echo $p["title"]; echo "<br/>"; echo...

Leer más
Borrar registros de la base de datos en Symfony2
Ene06

Borrar registros de la base de datos en Symfony2

Veamos como borrar registros de la base de datos en Symfony2 con Doctrine. Crearemos una ruta para el método action de borrar. borrar: path: /borrar/{id} defaults: { _controller: PruebasEjemploBundle:Default:borrar } public function borrarAction($id) { //Entity Manager $em = $this->getDoctrine()->getEntityManager(); $posts = $em->getRepository("PruebasEjemploBundle:Posts"); $post = $posts->find($id); $em->remove($post); $flush=$em->flush(); if ($flush == null) { echo "Post se ha borrado correctamente"; } else { echo "El post no se ha borrado"; }...

Leer más
Actualizar registros de la base de datos en Symfony2
Ene05

Actualizar registros de la base de datos en Symfony2

Veamos como actualizar registros de la base de datos en Symfony2. Crearemos una ruta para ello. actualizar: path: /actualizar/{id}/{title}/{description}/{content} defaults: { _controller: PruebasEjemploBundle:Default:actualizar } Creamos también una acción. public function actualizarAction($id, $title, $description, $content) { //Entity Manager $em = $this->getDoctrine()->getEntityManager(); $posts = $em->getRepository("PruebasEjemploBundle:Posts"); $post = $posts->find($id); $post->setTitle($title); $post->setDescription($description); $post->setContent($content); //Persistimos en el objeto $em->persist($post); //Insertarmos en la base de datos $flush = $em->flush(); if ($flush == null) { echo...

Leer más
Sacar de la base de datos en Symfony2
Ene04

Sacar de la base de datos en Symfony2

Vamos a ver como conseguir los datos que hay guardados en una tabla, esto sería lo equivalente a la sentencia SELECT pero con Doctrine. Con los métodos find de Doctrine podremos sacar de la base de datos en Symfony2. Crearemos una ruta para listar los datos. listar: path: /listar defaults: { _controller: PruebasEjemploBundle:Default:listar } Y creamos un método en el controlador. public function listarAction() { //Entity Manager $em =...

Leer más
Insertar en la base de datos en Symfony2
Ene03

Insertar en la base de datos en Symfony2

Como sabemos Symfony2 usa Doctrine 2 para manejar la base de datos, haremos uso de este y veremos como insertar en la base de datos en Symfony2. Crearemos una ruta(routing.yml) que recibirá los parámetros a insertar en la base de datos: insertar: path: /insertar/{title}/{description}/{content} defaults: { _controller: PruebasEjemploBundle:Default:insertar } Ahora en el controlador de nuestro bundle creamos el método. Debemos hacer un use del objeto post antes de la...

Leer más