symfony-community: introducción a symfony framework
Post on 13-Jun-2015
1.009 Views
Preview:
DESCRIPTION
TRANSCRIPT
Disertante:
Introducción a Symfony Framework
Ejemplo práctico, project setup,
MVC, routing y doctrine.
Disertante:
symfony-community.com
Colaboradores:• Excedesoft S.A.• Lic. Fabian Castillo• Ing. Emiliano Viada
presentacióncomunidad
Destinatarios:• Estudiantes• Profesionales• Empresas - Instituciones
¿Quiénes somos?
Objetivo del seminario:
Demostrar los conceptos involucrados en la creación de una aplicación symfony
inicial.
Disertante:
Contenido(temario)
• Introducción a Symfony• Definición oficial de Framework.• Alguna razones para la elección de symfony.• Features importantes
• Alcance del ejemplo• Entorno de trabajo, componentes y funcionamiento
• Instalación y configuración de una applicación• Entorno de trabajo, componentes y funcionamiento• Configuración • Arranque de la aplicación
• Conceptos y estructura del framework• Capas y organización de física• Concepto Aplicación, Modulo, Template, Layout, ..
• Arquitectura MVC• Routing• Layout..
• ORM – Doctrine• Personalización - Estilos
Disertante:
¿Qué es symfony framework?
Definición del sitio oficial:
“Symfony is a web application framework for PHP projects.It aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure”
Disertante:
Beneficios del framework• Librerías, componentes y herramientas
reutilizables. • Proveer una arquitectura madura, experiencias y
conocimiento.• Provee dirección y límites al programador.• Paradigma de convención
Objetivo:• Construcción de aplicaciones complejas,
rápidamente• Prepararnos para el futuro, escalabilidad y
mantenabilidad.
Disertante:
Algunas razones para elegir Symfony1. “Escalable”
Yahoo lo usa con aplicaciones de 200 millones de usuarios.
2. “LTS” (Long term support) 3 años.
3. “Seguro”. (xss, csrf, sql injection, etc)
4. “Licencia MIT”permite desarrollar aplicaciones comerciales, gratuitas y/o libre.
5. “Calidad”. 9000 unidades de testeo.
6. “Documentación”
En 5 lenguajes, multiples libros gratis, excelente esfuerzo.
7. “Nivel de madures”En 5 lenguajes, multiples libros gratis, excelente esfuerzo.
8. “Compromiso”. SensioLab lo usa, prueba y extiende en base a casos reales.
Disertante:
Features de un framework web
Arquitecturalmente:• Application controller, Filter• Enrutamiento• MVC• Doctrine ORM
Componentes:• App.Setting• Forms• Swift mailer• Tasks • I18n y l10n
• Generate-admin
• Web-services• Ajax Integration• Unit-testing
Cualidades:• Configurable• Performante
• Caching• Gestión de session
• Seguro• Productivo
• Comandos generadores
• Gestión de entornos
Disertante:
MyBlog - Aplicación de Ejemplo
AplicaciónAlcance
Definición del alcance del ejemplo
Disertante:
Alcance del ejemplo
• Landing page• Consulta datos de contacto• Consulta quienes somos• Consulta los post recientes• Comenta un post• Publica su post
VISITANTE
Casos de uso:
Actor
Post1 Comentario*
Dominio
Disertante:
Instalación del entorno de desarrollo
Sf SetupPaso a Paso
Explicación de los componentes, funcionamiento y configuración
Disertante:
Entorno de desarrollo
Apache
Elementos:
• Host (ip)• URL
• Virtual host• Aplicación
Instaladores
Componentes Funcionamiento
local.myblog.com
ApacheServer
127.0.0.1
/var/www/myBlog/project/webIndex.php
requestBrowser
EditorPHP
CARPETA
Developer
Disertante:
Configuración1. Bajar el Sandbox 1.4.x del sitio oficial2. Descomprimir Sandbox3. Renombro sandbox a myblog4. Configurar el local & virtual hosts5. Reiniciar el servidor apache6. Crear base de datos y usuario7. Configurar db creds en symfony
<VirtualHost *:80> ServerName local.myblog.com DocumentRoot "/var/www/myBlog/project/web" <Directory "/var/www/myBlog/project/web"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory></VirtualHost> Alias /sf /var/www/myblog/lib/vendor/symfony/data/web/sf <Directory "/var/www/myblog/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All </Directory>
Virtual Host /apache/extra/conf/httpd-vhosts.conf
Local host/etc/hosts
127.0.0.1 local.myblog.com
Base de Datoshttp://localhost/phpmyadmin
- Base de datos myblog_dev- Usuario myblog_dev- Edicion de credenciales en:- project/config/database.yml
Disertante:
Disertante:
Conceptos y estructura del Framework
Bienvenidosa Symfony
Explicación de las convenciones y organización de la aplicación
Disertante:
Estructura del framework• Estructura del proyecto symfony
• Convenciones• Organización de capas y archivos.
• Arquitectura MVC• Application, Module, Actions, Templates• Layouts
• Scarfolding y comandos symfony
Disertante:
Capas y organización física
-
core
Modulo
Lib
Frontend Application
Modulo
ModelForm
s
Action Action Action Action
Vendors
BackendMobile
TaskWidgets
Frontend Front Controller Mob. FC BE F.CCCS, JS, Images,
Templ Templ Templ
Layout
Tempo
Layout
Arq
uit
ectu
ra
OS +Apache + MySql
Web Services
API
Disertante:
Codificación del ejemplo
Codinginicial
Demostración paso a paso.
Disertante:
Ejemplo• Crear modulo “content”
./symfony generate:module frontend content
• Crear action “home”• Setear una variable
$this->fecha = date('d/m/Y');
• Imprimir mensaje de bienvenida en vista
<h1>Symfony-Community Blog</h1><hr/><h2>Bienvenido al blog de la comunidad</h2>Ultima Actualización: <?php echo $fecha; ?>
(Demostración en IDE – browser)
http://local.myblog.com/frontend_dev.php/content/home
Disertante:
Arquitectura MVCen symfony
Usuario
frontend_dev.php/content/home ApacheServer
result
Browser Front Controller
Action
Model Template
Layout
• Controller = Front Controller + Action• Model = Clases de Dominio (Lib/Model)• View = Template + Layout
request
Disertante:
Routing• Concepto
• Mapear un requerimiento (url) a una acción. (Caso de Uso)
• Definición • /config/route.yml
• Utilización desde la vista• url_for() helper
• Rutas por defecto• Homepage
(Creamos las páginas de Contáctenos y Quienes Somos para demostrar en IDE – browser )
Front Controller
Action
Model Template
Layout
routing
Disertante:
Layout• Concepto y demostración• Partes del layout
• Two step view (Pattern) – vista en dos pasos
Disertante:
Schema – Dominio - Doctrine• Concepto
• Entidad, Relación.
• Definición • /config/doctrine/schema.yml
• Scaffolding• Clases autogeneradas
• Utilización del dominio desde la acción.• Doctrine::getTable(“xx”)->findAll(); ->findBy*(); etc.
• Behaviours populares• Timestampable, Slugable, vertinable
(Creamos el módulo Post para demostrar en IDE – browser )
Disertante:
Web – Recursos estáticos
• Explicación de la carpeta web• CSS• Imágenes• Javascripts
• Maquetación • Personalizar estilo de blog.
Disertante:
Antes de finalizar.
Gracias
Disertante:
Descargas
- www.symfony-community.com- https://github.com/Symfony-Community/myblog.git
Disertante:
Colaboración Muchas Gracias
www.symfony-community.com
top related