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
Crear formularios en Symfony3
Ene16

Crear formularios en Symfony3

Vamos a ver cómo crear formularios en Symfony3. El procedimiento para crear formularios en Symfony 3 es algo diferente que en Symfony2 aunque es muy parecido, solo cambia algo de código. Abrimos la consola y nos vamos al directorio donde tengamos el proyecto Symfony3 y lanzamos el comando: php bin/console doctrine:generate:form MiBundle:MiEntidad Ahora tendremos un fichero nuevo en el directorio Form de nuestro Bundle. En mi caso tengo CursoType.php...

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
Subir archivos en Symfony3
Ene02

Subir archivos en Symfony3

Subir archivos en Symfony3 es extremadamente fácil. Vamos a ver como subir archivos de forma fácil con Symfony 3. Primero tenemos que definir un campo de tipo file en nuestro formulario. $builder ->add('image', FileType::class,array( "label" => "Imagen:", "attr" =>array("class" => "form-control") )); En el controlador cuando el formulario se haya enviado, subiremos el fichero: // Recogemos el fichero $file=$form['image']->getData(); // Sacamos la extensión del fichero $ext=$file->guessExtension(); // Le ponemos...

Leer más
Autenticación en Symfony3: Crear Login
Dic26

Autenticación en Symfony3: Crear Login

En este tutorial veremos como usar la autenticación en Symfony3 y como crear un login de usuarios. En Symfony 3 la forma de hacer la autenticación ha cambiado bastante con respecto a Symfony2, así que veamos como se hacer un login. En primer lugar entramos al fichero app/config/security.yml security: # En el caso que los usuarios tengan la contraseña cifrada configuramos los encoders para la entidad en la que...

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