Migraciones en Symfony3
Ene30

Migraciones en Symfony3

Las migraciones de la base de datos nos permiten crear diferentes versiones del esquema de la base de datos mientras estamos desarrollando una aplicación. Esto es muy útil cuando estás trabajando en un equipo y cada programador hace sus cambios en la base de datos, etc, cuando otro programador mezcle el código del compañero podrá lanzar las migraciones que ha generado el compañero y así tener la misma versión...

Leer más
Curso de Symfony 3
Ene23

Curso de Symfony 3

Accede al curso pinchando aquí. He creado un nuevo curso, es el curso del que más orgulloso me siento. Te presento el curso de Symfony3, en el que vas a aprender paso a paso como desarrollar aplicaciones web con este framework para PHP. Symfony es uno de los frameworks más conocidos y más completos del mercado actual. Son muchas las ventajas que tenemos al trabajar con él, como por...

Leer más
Internacionalización en Symfony3
Ene23

Internacionalización en Symfony3

Hoy vamos a ver cómo funciona la internacionalización en Symfony3 para traducir los strings estáticos que tengamos en nuestra aplicación web. La forma de hacer traducciones en Symfony 3 es prácticamente igual que en Symfony2. Antes de nada acuerdate de que en fichero config.yml tienes que tener el translator activado parameters: locale: en framework: #esi: ~ translator: { fallbacks: ["%locale%"] } Lo primero que vamos a hacer es crear...

Leer más
Cambios de Symfony3 con respecto a Symfony2
Ene16

Cambios de Symfony3 con respecto a Symfony2

Los cambios de Syfmony3 con respecto a Symfony2, son muchos(la mayoría serán a nivel interno del núcleo del framework), lo que no significa que cambie demasiado la forma de trabajar con el framework. Los cambios que más afectan a la hora de trabajar en la versión 3 de Symfony son: Eliminación de clases y métodos deprecados La consola ya no está en app/console si no en bin/console Cambios en...

Leer más
Solución al editar formulario con un input file en Symfony3 y 2
Ene04

Solución al editar formulario con un input file en Symfony3 y 2

Vamos a solucionar el siguiente error: The form’s view data is expected to be an instance of class Symfony\Component\HttpFoundation\File\File, but is a(n) string. You can avoid this error by setting the «data_class» option to null or by adding a view transformer that transforms a(n) string to an instance of Symfony\Component\HttpFoundation\File\File. Este error se da cuando intentamos actualizar los datos de un input file de un formulario en Symfony2 y...

Leer más
Solución [Twig_Error_Runtime] does not exist in «form/FormType.php.twig» at line 29
Dic19

Solución [Twig_Error_Runtime] does not exist in «form/FormType.php.twig» at line 29

En Symfony3 y Symfony2.8 Cuando intentamos generar un formulario vinculado a un modelo que tiene algun tipo de relación con otra entidad de Doctrine, nos falla al generar el campo que se relaciona con la otra entidad. Si lanzamos: php bin/console doctrine:generate:form AppBundle:Post Nos puede dar un error así: [Twig_Error_Runtime] Key «category» for array with keys «id, description» does not exist in «form/FormType.php.twig» at line 29 Esto es un...

Leer más
Instalar Symfony3
Dic11

Instalar Symfony3

Symfony acaba de sacar la versión 3 del framework, que no representa ningún cambio radical a la hora de trabajar con el framework, sin embargo hay varias cosas que cambian, se simplifican o se eliminan métodos deprecados. Veamos como instalar Symfony3 con Composer. Lanzamos el comando: composer create-project symfony/framework-standard-edition symfony/ "3.*" Si quieres limitar la versión a la 3.0 puedes hacerlo indicando «3.0.*» Una vez que se descarge todos...

Leer más
Between en DQL
Nov09

Between en DQL

Veamos como usar between en DQL con este método de ejemplo: public function getPostsLastDays($days) { $em = $this->getEntityManager(); $fecha = date('Y-m-d'); $nuevafecha = strtotime("-{$days} day", strtotime($fecha)); $nuevafecha = date ( 'Y-m-d' , $nuevafecha ); $dql = "SELECT p FROM Web\BlogBundle\Entity\Posts p WHERE p.createdAt BETWEEN '{$nuevafecha}' AND '5000-01-01' ORDER BY p.createdAt DESC"; $query = $em->createQuery($dql); $posts = $query->getResult(); return $posts; } Este método lo que hace es sacar los posts...

Leer más
Código del ejemplo de creación de un blog con Symfony2
Ene29

Código del ejemplo de creación de un blog con Symfony2

Puedes descargar todo el código de los ejemplos de tutoriales anteriores desde: https://github.com/victorobs/symfony2-blog Un saludo. ¿Quieres más? Vídeo Curso de Symfony3 ¡Domina el framework PHP más...

Leer más
ACL en Symfony2
Ene28

ACL en Symfony2

Para configurar las listas de control de acceso o ACL en Symfony2 simplemente tendremos que ir al fichero security.yml y añadir reglas a «access_control» como especifico en el siguiente ejemplo. security: firewalls: identificarse: pattern: ^/* anonymous: ~ provider: users form_login: login_path: login check_path: /login_check logout: path: logout target: / providers: users: entity: { class: Web\BlogBundle\Entity\Users, property: email } access_control: - { path: ^/registro, roles: IS_AUTHENTICATED_ANONYMOUSLY} - { path: ^/nuevo-post,...

Leer más
Symfony2 desde 0: Eliminar posts
Ene27

Symfony2 desde 0: Eliminar posts

Por último veremos como eliminar posts, nos quedaria mucho por hacer si queremos hacer un blog completamente funcional, pero esto era solo un ejemplo de como proceder. La acción del controlador de posts para eliminar posts: public function deleteAction($post){ //Entity Manager $em = $this->getDoctrine()->getManager(); //Repositorios de entidades a utilizar $postRepository=$em->getRepository("WebBlogBundle:Posts"); $tagsPostsRepository=$em->getRepository("WebBlogBundle:TagsPosts"); /* * Borrar asociaciones de tags * con el post y borrar post */ $post=$postRepository->findOneBy(array("id"=>$post)); $tagsposts=$tagsPostsRepository->findBy(array("post"=>$post)); if(count($tagsposts)>=1){ foreach($tagsposts...

Leer más
Symfony2 desde 0: Modificar posts
Ene26

Symfony2 desde 0: Modificar posts

Ya tenemos listar y añadir posts. En esta ocasión veremos como modificar posts. Reutilizaremos el modelo del formulario y la vista y gran parte del controlador. Veamos como queda la acción en el controlador. public function editAction(Request $request,$post){ //Entity Manager $em = $this->getDoctrine()->getManager(); //Repositorios de entidades a utilizar $postRepository=$em->getRepository("WebBlogBundle:Posts"); $categoryRepository=$em->getRepository("WebBlogBundle:Categories"); //Conseguir todas las categorias $categories=$categoryRepository->findAll(); //conseguimos el objeto del Post $post = $postRepository->findOneBy(array("id"=>$post)); //Cargar foto si existe, hay que...

Leer más