Desarrollo Web con Symfony 3
3.5 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
19 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Desarrollo Web con Symfony 3 to your Wishlist.

Add to Wishlist

Desarrollo Web con Symfony 3

Curso Symfony 3 con Doctrine, el más robusto, seguro y flexible Framework PHP (nuevo agosto 2017)
3.5 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
19 students enrolled
Last updated 8/2017
Spanish
Curiosity Sale
Current price: $10 Original price: $195 Discount: 95% off
30-Day Money-Back Guarantee
Includes:
  • 5.5 hours on-demand video
  • 17 Articles
  • 32 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Aprende a desarrollar aplicaciones web MVC con el robusto, seguro y flexible Framework PHP: Symfony 3 & Doctrine.
  • Comprende la arquitectura del modelo MVC (Modelo–vista–controlador)
  • Aprende los diversos componentes y APIs como el patrón de Inyección de Dependencia, Interceptores HTTP, operaciones de base de datos implementando el patrón DAO con Doctrine 2.
  • Manejo de formularios y validaciones de datos, Seguridad, Ajax y mucho más.
  • Soporte CONTÍNUO con profesor online, PROFESOR RESPONSABLE, publica tus dudas y responderé en menos de 8 horas.
  • Se agregan nuevos videos cada mes, siempre tendrá acceso a contenido ACTUALIZADO!
  • Vídeos de Alta Definición complementados con materiales PDF eWorkshop (incluye códigos, vídeos y PDFs)
  • Aumenta tus oportunidades laborales como desarrollador Symfony 3.
  • Acceso 24 horas para que aprendas a tu propio ritmo y en español.
  • Certificados con aplicaciones internacionales y validez en LinkedIn.
  • Desarrolla una completa aplicación CRUD con Symfony 3, Doctrine 2 y Seguridad (autenticación y autorización).
  • Desarrolla una aplicación Ecommerce, tienda online con carrito de compras.
View Curriculum
Requirements
  • Conocimientos PHP y SQL.
  • Conocimientos básicos de Programación orientada a objetos en PHP.
  • Idealmente, algunas nociones básicas en HTML.
Description

Symfony 3 es un Framework MVC y un conjunto de componentes reusables para desarrollar Aplicaciones Web PHP, se caracteriza por su inmejorable rendimiento, arquitectura robusta, seguro y optimizado. Dentro de su Arquitectura incluye componentes de persistencia y base de datos, formularios y validación, enrutamiento, sesiones, almacenamiento en cache, autenticación, entre otras más. Escrito puramente con programación orientada a objetos, utiliza todo el potencial y las nuevas características de PHP 5.6+/PHP 7, tales como los namespaces, late static binding, funciones lambda y closures.

Symfony tiene como objetivo hacer que el proceso de desarrollo sea una verdadera experiencia para el desarrollador, profesionalismo sobre todo, diseñado desde el principio para simplificar el desarrollo implementando las mejores prácticas y patrones de diseños, sin sacrificar funcionalidades de la aplicación, enfocado en la construcción de aplicaciones web robustas, seguras y modernas.

Cuenta con un flexible y robusto contenedor de Inversión de Control, arquitectura MVC, innovadora estructura modular más reutilizable, autónoma y portable, cuenta con un API de Persistencia y Mapeo Objeto-Relacional llamado Doctrine, Contenedor e inyección de dependencia, uso de bloques de anotaciones, soporte e integración de pruebas unitarias etc.

Competencias que podrás desarrollar

Composer, Anotaciones, Arquitectura MVC, Rutas/Routes, Contenedor e Inyección de Dependencia, Interceptores o Listeners HTTP, Formularios, Validadores, Bases de Datos, ORM Doctrine, CRUD (Mantenedor Crear, Listar, Actualizar y Eliminar), Manejo de sesiones HTTP, Seguridad: autenticación y autorización, Plantillas de vistas Twig, Layout, AJAX, HTML5/CSS3 con Boostrap, Angular, eCommerce, multilenguaje, localización y más.

¿Porqué elegir nuestros cursos?

Modalidad: 100% online mediante probadas herramientas de educación en línea, curso didáctico e interactivo, dinámicos videos HD y material workshop PDF. Soporte mediante foros para las dudas y discutir los temas de cada sección, mensajería interna con el profesor, materiales de calidad, presentaciones, ejercicios paso a paso y trabajos de laboratorio prácticos (entre ellos un completo ejemplo e-commerce y carro de compras) etc.

  • Acceso 7 x 24 a nuestra Plataforma e-learning.
  • Videos HD paso a paso 100% en Español.
  • Material de estudio descargable e imprimibles 100% en Español.
  • Material workshop paso a paso en pdf.
  • Soporte online con profesor PHP POO.
  • Somos pioneros en brindarte este tipo de acceso para darte realmente la libertad que necesitas para estudiar, donde quiera que te encuentres.
  • Ejemplos del Mundo Real.
  • Aprendizaje garantizado.
  • Excelente relación calidad-precio.
  • Conocimiento aplicable a proyectos reales del mercado laboral.
  • La atención rápida y satisfactoria a las dudas por parte del docente.
  • La interactividad del curso ya que contiene foros para resolver duda.
  • Los mejores comentarios y testimonios de nuestros alumnos.
Who is the target audience?
  • El curso es apropiado para todos los desarrolladores PHP, profesionales y estudiantes con el objetivo de especializarse en el desarrollo de aplicaciones web con Symfony Framework, a través de un enfoque moderno y actualizado, implementando el desarrollo en 3 capas MVC.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
77 Lectures
05:48:25
+
Introducción Symfony e Instalación
9 Lectures 53:01

Aquí puedes ver la introducción y objetivos de la primera sección. Además de descargar el código fuente de los proyectos, documentos PDF eWorkshop de la sección.

Documentos, ejercicios y (PDF) eWorkshop
02:14

El objetivo de la primera clase es hacer la presentación formal de Symfony, un Framework para Proyectos Web MVC y reusables componentes escritos en PHP5.6+.

Preview 08:25

La intención de la clase es comprender y discutir todo el alcance y las posibilidades de las herramienta necesarias para el curso, el IDE o Entorno de desarrollo integrado, servidor Apache, base de datos MySQL y PHP (LAMP).

Preview 10:59

El objetivo de esta clase es realizar la instalación de un sistema base utilizando el ejecutable symfony.

Preview 05:00

En esta clase analizaremos la estructura de directorio típica de una aplicación Symfony.

Preview 06:08

El objetivo de esta clase es profundizar la separación de capas, el patrón de Arquitectura MVC (Modelo, Vista y Controlador) en Symfony.

Arquitectura Modelo–vista–controlador (MVC)
08:48

En esta clase hablaremos sobre el directorio cache de Symfony, los ambientes de producción y desarrollo y además analizaremos la consola/monitor/logs web que incluye el framework.

Cache y Ambientes (Environment)
04:19

El objetivo de esta clase es crear un nuevo controlador con su respectiva ruta usando la anotación @Route y su vista twig, además analizando algunas etiquetas de la vista como foreach para iterar sobre un array o ArrayObject.

Creando nuevo controlador y vista
06:37

Práctica para la sección 1, crear nuevo controlador y vista.

Práctica 1 - Desafío Individual: Probar instalación y pasar datos a la vista
00:30
+
Contexto Web MVC
8 Lectures 31:23

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los proyectos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
01:36

En esta clase veremos más detalladamente el componente Controller, sus métodos y clase padre.

El controlador
06:23

En esta clase veremos la clase del modelo, representa los datos y lógica de negocio de nuestra aplicación.

El modelo
03:10

Esta clase tiene como objetivo ver todo el detalle que hay detrás de los métodos de acciones (métodos action que manejan el request HTTP), su estructura, request mapping (mapeo URL) con la anotación @Route y más.

Métodos action y request mapping - anotación @Route
06:23

En esta clase veremos el detalle de las vistas twig.

La vista
03:12

En esta clase veremos diferentes formas de pasar parámetros al controlador, usando parámetros del request y del router.

Request Parameter GET
06:22

En esta clase veremos el arranque del framework (bootstrap).

Bootstrap - archivo .htaccess
02:11

Práctica para la sección 2, crear clase del modelo DAO y buscar datos.

Práctica 2 - Desafío Individual: Clase Model DAO y Búsqueda de Información
02:06
+
Twig Layout
5 Lectures 23:48

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
01:43

En esta clase daremos una introducción al motor de plantillas y Layout Twig de Symfony.

Introducción a Twig
07:25

En esta clase aprenderemos a usar Twig en nuestra aplicación.

Twig Layout
06:22

En esta clase aprenderemos sobre el framework Bootstrap (HTML5 y CSS) y a integrarlo en nuestras plantillas Twig.

Bootstrap HTML5 y CSS
06:16

El objetivo de esta clase es aprender a usar las directivas de Twig, principalmente block y extends.

Directivas Block y Extends
02:02
+
Event Listener
6 Lectures 27:37

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
02:28

Esta clase presenta una introducción a los Filtros HTTP (EventListener HTTP), también conocidos como los Hooks o Interceptores HTTP.

Introducción
04:04

Esta clase explica cómo configurar y registrar nuestra clase Event Listener (Listener Http) en el Contenedor de Symfony.

Ejemplo Horario Acceso: Configuración y registro del EventListener
04:40

El objetivo de esta clase es ver el detalle de la implementación de nuestra clase Listener.

Ejemplo Horario Acceso: Implementación de la clase EventListener
05:55

Ejemplo Inversionista, implementación de event-listener utilizando el Event Dispatcher, provee una implementación del patrón de diseño Observador. Este patrón resuelve la problemática de manejar eventos entre componentes (component-driven event) de forma simple, permitiendo subscribir y escuchar eventos en nuestra aplicación.

Ejemplo Inversionista
09:30

Práctica para la sección 4, crear nuevo event listener que calcula el tiempo de carga de la página.

Práctica 3 - Desafío Individual: Hooks Tiempo Transcurrido
01:00
+
Manejo de Formulario y Validación
11 Lectures 59:23

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
01:58

El objetivo de esta clase es dar una introducción breve a los formularios de Symfony, componente Forms.

Introducción a Formularios Symfony
02:35

Esta clase muestra cómo crear un formulario de forma simple, con algunas pocas lineas de código dentro del controlador, usando el método createFormBuilder(...).

Creación de Formularios simples con createFormBuilder
08:33

Según lo visto en la clase anterior, un formulario puede ser creado y utilizado directamente en un controlador específico. Sin embargo, una mejor práctica es construir el formulario en una clase independiente, autónoma de PHP, que puede reutilizarse en cualquier lugar de la aplicación. El objetivo de esta clase es ver y explicar cómo crear un formulario usando la clase Form (extiende de la clase AbstractType), por separado del controlador, más re-utilizable.

Creación clase Form independiente
06:24

En esta clase aprenderemos a implementar formularios en nuestras vistas, usando las etiquetas forms, por ejemplo form_start(form), form_widget(form), form_end(form) etc. Además les daremos un diseño mucho más robusto y personalizado usando Bootstrap HTML5 y CSS.

La vista form y etiquetas predefinidas
02:29

En esta clase aprenderemos a implementar la acción del controlador que recibe los datos y procesa el formulario, aquí también se validan los datos y trabaja con los datos del formulario (objeto form).

Entonces resumiendo, de forma predeterminada, el formulario enviará una solicitud POST al mismo controlador que lo procesa. Aquí, la segunda fase de un formulario es poblar los datos enviados por el usuario a los atributos de un objeto form, luego se valida y se trabaja con este objeto, por ejemplo para almacenarlo en la BBDD.

Procesar envío del formulario en el controlador
04:55

En esta clase haremos un recorrido a la documentación oficial del componente Forms de Symfony, para complementar más lo aprendido, el objetivo de esta clase es navegar y aprender a usar el manual que provee symfony.

Resumen y documentación componente Form
02:32

En esta clase veremos un introducción breve a las reglas de validaciones de Symfony, usando las anotaciones @Constraints (Assert).

Introducción componente de validación
07:10

El objetivo de esta clase es aprender a implementar nuestras anotaciones de validación en las clases entity form, clase que representa y contiene los datos del formulario. Ejemplo:

@Assert\NotBlank()
Implementando validación con anotaciones
08:26

En esta clase aprenderemos a escribir e implementar nuestra propia clase y anotación de validación personalizada.

Creación clase validador personalizada
13:39

Práctica para la sección 5, formulario y validación.

Práctica 4 - Desafío Individual: Formulario Registro de Usuarios
00:41
+
Doctrine ORM & Base de Datos
11 Lectures 49:05

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
02:39

En esta clase haremos una introducción a los ORM. El mapeo objeto-relacional (ORM) es una arquitectura que permite trabajar con los datos de una base de datos relacional en forma de objetos (POO). Esto crea una base de datos orientada a objetos en nuestra aplicación mapeada a una base de datos relacional. Las tecnologías ORM son utilizadas hoy en día por la gran mayoría (por no decir todas) de las aplicaciones de tipo empresarial en Plataforma Java y cada vez más en Framework PHP como Symfony, Laravel y Zend.

Introducción al ORM (Mapeo objeto-relacional)
07:49

Doctrine 2 es una herramienta de mapeo objeto-relacional (ORM) para la plataforma PHP, facilita el mapeo entre una base de datos relacional y el modelo de objetos de una aplicación, mediante YML, XML o anotaciones en clases Entity (o POPO - Plain Old PHP Object - Objeto simple de PHP, con atributos, métodos get y set).

Introducción a Doctrine
04:34

En esta clase aprenderemos a configurar nuestra conexión a la base de datos MySQL, mediante parámetros en los archivos de configuraciones YML.

Configuraciones y parámetros de conexión
02:53

En esta clase vamos a crear la base de datos MySQL, la tabla y algunos datos de prueba.

Creación de la base de datos MySQL y tablas
02:13

En esta clase aprenderemos a escribir nuestras clases de persistencia Entity y mapear sus atributos y campos usando anotaciones @Entity @ORM/Table @ORM/Id @ORM/Column etc.

La clase entity mapeada usando anotaciones @ORM
05:16

En esta clase aprenderemos a implementar el patrón de diseño DAO (Objeto de Acceso a Datos) usando el objeto EntityManager de Doctrine, escribiendo las operaciones CRUD (Crear, Leer, Actualizar y Borrar).

La clase Models DAO (Data Access Object) y el EntityManager (CRUD)
09:26

En esta clase aprenderemos los detalles de las clases controladoras y le inyectaremos el objeto DAO para las operaciones CRUD.

El controlador CRUD y el objeto DAO
04:26

En esta clase aprenderemos los detalles de las vistas, el listado, formulario (editar, crear) y eliminar etc.
El formulario y las vistas
05:06

En esta clase vamos a continuar con el ejemplo anterior, tomando como base el proyecto del catálogo, vamos a agregar una nueva tabla en la base de datos llamada categorías y crear la relación con la tabla productos usando Relationships de Doctrine ORM.

Las tablas de la bases de datos probablemente están relacionados entre sí. Por ejemplo, una entrada de blog puede tener muchos comentarios, o una orden de compra podría estar relacionado con un cliente. Doctrine hace que el manejo y el trabajo con estas relaciones sean lo más sencillas posible, por ejemplo con @OneToOne, @OneToMany y @ManyToMany etc.

Mapeo y asociaciones entre clases Entity (Relationships)
04:12

Práctica para la sección 6, CRUD con Doctrine.

Práctica 5 - Desafío Individual: Crear CRUD de Usuarios con Base de Datos
00:31
+
Ajax con JQuery
6 Lectures 27:39

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
01:46

En esta clase vamos a implementar el formulario del buscador AJAX.

Buscador Ajax: el formulario
07:11

En esta clase vamos a implementar la consulta de búsqueda en la clase Model Dao, implementada con Doctrine usando la sentencia WHERE LIKE y QueryBuilder.

Buscador Ajax: Consulta (sentencia LIKE) con Doctrine en la clase DAO
05:56

En esta clase vamos a codificar la función de jQuery Ajax, encargada en realizar la petición asíncrona AJAX al controlador Symfony.

Buscador Ajax: Funcion jQuery
05:12

En esta clase vamos a implementar el método del controlador que recibirá y manejará la petición Ajax y cargar la vista AJAX con el resultado.

Buscador Ajax: Accion que recibe la petición Ajax
06:56

Práctica de la sección 7.

Práctica 6 - Desafío Individual: Ajax con jQuery
00:38
+
Session HTTP y Locale
12 Lectures 43:45

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
01:39

Introducción a las sesiones HTTP en Symfony.

Introducción a las Sesiones HTTP
03:07

Las clases del modelo y lógica de negocio relacionadas al carro de compras.

Ejemplo Ecommerce: Las clases Model CarroCompras y ItemCarro
08:36

Registro y configuración del servicio CarroCompras en el Service Manager de Symfony, archivo services.yml.

Ejemplo Ecommerce: Registro servicio CarroCompras en el contenedor
01:59

La clase Event Listener CarroComprasListener, encargada de inicializar el objeto carro en el request. Si existe el objeto carro en la sesión http la obtenemos, sino la obtenemos del Servicio CarroCompras desde el Service Manager.

Ejemplo Ecommerce: Clase listener CarroComprasListener
02:11

La clase controladora CarroController.

Ejemplo Ecommerce: Clase controlador CarroController
03:04

La vista twig del carro de compras.

Ejemplo Ecommerce: La vista carro
05:02

Introducción al sistema multilenguaje de Symfony.

Ejemplo Multilenguaje: Introducción
03:05

Los archivos de idiomas yml con los textos de traducción.

Ejemplo Multilenguaje: Archivos de idiomas
02:13

Aprenderemos a utilizar el traductor, servicio Translator de Symfony, en nuestros controladores y vistas, para traducir nuestros textos al idioma seleccionado.

Ejemplo Multilenguaje: Servicio Translator en controladores y vistas
03:26

La clase controladora CambiarIdiomaController y la clase eventlistener LanguageLoaderListener, nos permite cambiar el idioma en nuestra aplicación.

Ejemplo Multilenguaje: Switch - cambiar idioma
08:55

Práctica de la sección 8.

Práctica 7 - Desafío Individual: Ampliar multilenguaje y agregar nuevo idioma
00:28
+
Seguridad: Autenticación y Autorización
9 Lectures 33:27

Aquí puedes ver la introducción y objetivos de la sección. Además de descargar el código fuente de los ejemplos y documentos PDF eWorkshop.

Documentos, ejercicios y (PDF) eWorkshop
01:52

Configuraciones de seguridad en el archivo security.yml usando el proveedor in memory (almacenamiento en memoria) y las reglas de control de acceso.

Configuraciones de seguridad (security.yml) usando proveedor in memory
06:02

En esta clase aprenderemos a implementar el controlador AuthController encargado de realizar la autentificación y su vista con el formulario de login personalizado login.html.twig.

Controlador y vista login para la autenticación
04:39

Corriendo el ejemplo usando el proveedor de seguridad in memory (en memoria).

Probando ejemplo in memory
03:31

Configuraciones de seguridad en el archivo security.yml usando el proveedor doctrine_db_provider (almacenamiento Doctrine DB) con anotaciones.

Configuracionesde de seguridad (security.yml) usando proveedor Doctrine DB
04:19

Tres alternativas de control de acceso: @Anotaciones en controladores, Reglas access_control en el archivo security.yml y mediante Código en los controladores (usando el servicio security.authorization_checker)

Tres formas de control acceso: Anotaciones, Reglas security.yml y Código
04:51

Estudiaremos las clases entities de Doctrine Usuario y Role, y el esquema de tablas de la base de datos.
Las clases entities Doctrine: Usuario y Role
04:38

Corriendo el ejemplo usando el proveedor de seguridad doctrine_db_provider (DB con Doctrine).

Probando ejemplo Doctrine DB
02:55

Práctica de la sección 9.


Práctica 8 - Desafío Individual: Implementar Seguridad
00:40
About the Instructor
Andrés José Guzmán
4.2 Average rating
68 Reviews
551 Students
4 Courses
Web Developer & Traninnig Specialist TI

Soy Ingeniero Civil con Especialidad TI, durante mi carrera he trabajado en diferentes empresas de desarrollo de software (TI), en diferentes cargos como desarrollador, jefe de proyectos y arquitecto.

Entusiasta de las nuevas tecnologías, gran parte de mi tiempo la dedico a la investigación y desarrollo, con más de 15 años de experiencia desarrollando, aprendiendo y enseñando diversas tecnologías relacionadas al desarrollo de sistemas.

Además me apasiona ser relator (instructor) de cursos presenciales (los últimos 7 años) y online como UML, Java SE, Java EE 7, Spring, Struts 2, PHP 7 POO, Patrones de Diseño, etc., muy recomendado para todos aquellos que quieran aprender Java, programación orientado a objetos, diseño y análisis OO, patrón de diseños etc.

Especialidades: Java SE 8, Java EE 7, EJB3, Hibernate, JPA2, JSF2, Spring Framework, Struts 2, Angular, HTML5, PHP 7 POO, Zend Framework 3, Laravel, Symfony, CodeIgniter, Android, UML y Patrones de Diseño.