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
Paginación en Symfony2
Ene25

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

Leer más
Subir ficheros en Symfony2
Ene24

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

Leer más
Symfony2 desde 0: Añadir Posts
Ene23

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

Leer más
Repositorios de entidades personalizados en Symfony2
Ene22

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

Leer más
Symfony2 desde 0: Login y registro
Ene21

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

Leer más
Symfony2 desde 0: Plantilla base
Ene20

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

Leer más
Symfony2 desde 0: Relaciones en Doctrine
Ene19

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

Leer más
Symfony2 desde 0: Crear bundle y generar entidades
Ene18

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

Leer más