php con symfony

51
Desarrollo de aplicaciones web con PHP y Framework Symfony Ponente: Ing Carlos A Salazar e-mail: [email protected]

Upload: csalazart

Post on 12-Jun-2015

2.365 views

Category:

Education


2 download

DESCRIPTION

Lo que realmente falto de la ponencia de symfony en las jornadas

TRANSCRIPT

Page 1: PHP Con symfony

Desarrollo de aplicaciones web con PHP y

Framework Symfony

Ponente:

Ing Carlos A Salazar e-mail: [email protected]

Page 2: PHP Con symfony

QUE ES UN GEEKDel inglés Geek, pronunciado "guik"

GEEK FRIKI DE LA TECNOLOGIA

QUE ES UN FRIKI

Es el apodo que le otorgan a las personas que son apasionadas por el mundo de la tecnología ó incluso obsesionadas con ella.

Computación, informática, electrónica, programación, video juegos, anime, manga, ciencia ficción, comics, cosplay entre otros

Page 3: PHP Con symfony

SOY UN GEEK?

Y Tú ERES?Si Alguna de Estas Imágenes

Es Familiar Seguro eres un GEEK

Page 4: PHP Con symfony

FRIKI DE PHP <?php echo $Framework->symfony();?>

FRIKI DE PHP<?php echo $Framework->symfony();?>

Ing. Carlos A Salazare-mail: [email protected]://es.debugmodeon.com/usuario/csalazart/

Page 5: PHP Con symfony

LA WEB 2.0La web AHORA

El término Web 2.0 (2004–presente) está comúnmente asociado con un fenómeno social, basado en la interacción que se logra a partir de diferentes aplicaciones en la web, que facilitan el compartir información, la interoperabilidad, el diseño centrado en el usuario o D.C.U.

Esto es: Redes Sociales (Facebook, twitter, myspace, RSS) Compartir Archivos (WIKI, Blogs, Videos, Fotos, skydrive, p2p) Web Interactiva (AJAX, CSS, Frameworks, MVC, JSON) Web de Relaciones (friend, Facebook, eDarling, amorenlinea,

ligatela) Web del Comercio (pay per clicks, E-lerning, E-Commerce)

Page 6: PHP Con symfony

A Donde VAMOSLA WEB 2.0 3.0

Web 3.0 es un neologismo que se utiliza para describir la evolución del uso y la interacción en la red a través de diferentes caminos. Apareció el término por primera véz en 2006 en un artículo de Jeffrey Zeldman.

Esto es: Manejo de Bases de Conocimiento (inteligencia artificial) Multi-Plataformas (Diferentes Dispositivos: celulares, PAD,

Tables, PC.. Etc) Web Semántica “La Web de los Datos” (Agentes inteligentes,

metadatos, las maquinas “entienden”) Web Geoespacial “Geoweb” (google earth, google maps, gps

en capas) Web 3D (VRML, 3DXML, X3D, Mundo Virtual 3D)

Page 7: PHP Con symfony

PAGINAS WEBTodo esto es gracias a las Páginas WEB

PHP

ASPJSP

PERL

Programación lado del Servidor

Programación lado del Cliente

HTML

XMLJ. Script

CSS

Page 8: PHP Con symfony

PHP

Page 9: PHP Con symfony

¿Qué NO es PHP?

Pasta con Hipervínculos Programable

(PHP)

Page 10: PHP Con symfony

Un Script en PHP<body>

<?php $lst_nombre=$_POST["nombre"];

$lst_edad=$_POST["edad"]

if (trim($lst_nombre) && trim($lst_edad)) { ?>

<p>Hola <?php $lst_nombre; ?>.

<br />Tiene <?php $lst_edad; ?> años</p> <?php }?>

<?php

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE)

{ echo "<p>Estás usando Internet Explorer</p>" }

else

{ echo "<p>¡Eres bienvenido en este lugar!</p>" } ?>

Page 11: PHP Con symfony

La respuesta en HTML

HolaSu nombre es Elisa CalderónTiene 21 añosEstá usando Internet Explorer

Page 12: PHP Con symfony

Spaguetti CODE<body>

<?php $lst_nombre=$_POST["nombre"];

$lst_edad=$_POST["edad"]

if (trim($lst_nombre) && trim($lst_edad)) { ?>

<p>Hola <?php $lst_nombre; ?>.

<br />Tiene <?php $lst_edad; ?> años</p> <?php }?>

<?php

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE)

{ echo "<p>Estás usando Internet Explorer</p>" }

else

{ echo "<p>¡Eres bienvenido en este lugar!</p>" } ?>

Page 13: PHP Con symfony

PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero también puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHPGTK

PROGRAMACION WEB

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor. Fue creado originalmente por Rasmus Lerdorf en 1994. Significaba Personal Home Page Tools

PHP

Page 14: PHP Con symfony

PHP 5El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0. La versión más reciente de PHP es la 5.3.6 (17 de Marzo de 2011), que incluye todas las ventajas que provee el nuevo Zend Engine 2

PROGRAMACION WEBPHP Versiones

Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario.

Mejoras de rendimiento. Mejor soporte para MySQL con extensión completamente reescrita. Mejor soporte a XML ( XPath, DOM, etc. ). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Manejo de excepciones. Mejoras con la implementación con Oracle.

Page 15: PHP Con symfony

PHP 6ESTA PENDIENTE SU LANZAMIENTO, PREVISTO PARA ESTE AÑO

PROGRAMACION WEBPHP Versiones

Las diferencias que encontraremos frente a PHP 5.* son: Soportará Unicode; Limpieza de funcionalidades obsoletas como register_globals, safe_mode, etc; PECL y eliminación de soporte ereg; Mejoras en orientación a objetos; Inclusión en el núcleo de xmlReader y xmlWriter así como Fileinfo; Return por referencia devolverá un error; Se retira el soporte de las bibliotecas FreeType1 y GD1;

Page 16: PHP Con symfony

¿Qué necesito para programar en PHP?

Page 17: PHP Con symfony

Sistema Operativo / Plataforma

Linux

Windows

Macintosh

¿Qué necesito para programar?

Page 18: PHP Con symfony

¿Qué necesito para programar?

Un ambiente de desarrollo

¿Recuerdas?

Page 19: PHP Con symfony

Servidor Web o servicio web

Apache

IIS (Internet Information Services)

Tomcat

Script de servicio PHP (depende del SO)

Servicio de Bases de Datos (si se necesita)

¿Qué necesito para programar?

Page 20: PHP Con symfony

Navegadores de InternetInternet Explorer

7.0

8.0

Mozilla Firefox

3.6

4.0

Apple Safari

4.0

Google Chrome

5.0

Page 21: PHP Con symfony

www.apachefriends.org/es/xampp.html

Pero instalar el servidor puede ser un problema ...

www.wampserver.com

¡SOLO INTÉNTALO EN CASA!

XAMPP

Page 22: PHP Con symfony

PHP Donde Programar

Dreamweaver: comercial, de la casa Adobe

Zend Studio: Comercial - (Zend).

PHPEclipse: plugin de Eclipse

NetBeans: libre, multiplataforma, utiliza Symfony, auto-completado de código, auto-identador, PHPDocumentor.

Aptana Studio: GPL, existe una versión comercial. Debe instalarse el plugin para PHP. Está basado en Eclipse, pero posee características que lo hacen mas deseable que el Eclipse PDT; entre ellas: auto-completado de código, auto-identador.

Komodo IDE: Komodo Edit, libre y gratuito. El IDE es licencia comercial - (Mozilla).

Quanta: GPL y gratuito, para GNU/linux con QT.

gEdit: Editor de texto por defecto en Gnome - (Linux).

Kedit: Editor de Texto por defecto de KDE – (Linux)

Entornos para Desarrollo

Page 23: PHP Con symfony

Lenguaje PHP

Manejador de Bases de Datos

Debemos Tener en Cuenta

Para Programar

Lenguaje HTML

Lenguaje JavaScript

Lenguaje CSS (Cascade Style Sheet)

Para diseñar la salida, Vista o Interfaz

Page 24: PHP Con symfony

HERRAMIENTAS Y

DESARROLLOS

Page 25: PHP Con symfony

Ejemplos de aplicaciones desarrolladas con PHP (poo, CMS, MVC, xmls)

* Magento

* OsCommerce

* PrestaShop

* WordPress

* Dokuwiki

* Drupal

* Mambo Open Source

* Moodle

DESARROLLOS

* phpMyAdmin

* PHP-Nuke

* phpPgAdmin

* Smarty

* Joomla

* phpBB

* UVG SCADA

* PhpCollab

* Facebook

Page 26: PHP Con symfony

* Adodb

* FPDF

* FEEDCreator

* XMLLib

* JSON

* XAJAX

* JQuery4PHP

* PHP SWF

* Doctrine / Propel (ORM)

HERRAMIENTAS

* PHPDocumentor

* Smarty

* Xtemplates

* nuSoap

* PEAR

* Y Mas…

Librerias

Page 27: PHP Con symfony

FRAMEWORKS

Page 28: PHP Con symfony

Un framework (Marco de Trabajo)

Es una plataforma de trabajo, es decir, un conjunto de herramientas que permiten desarrollar sobre un modelo común. Es como programar siguiendo pautas para lograr un producto estándar y sobre todo, fácilmente modificable y mantenible.

QUE ES UN FRAMEWORK

RUBY ON RAILS La punta del iceberg

Con Arquitectura - Módelo- Vista- Controlador

Page 29: PHP Con symfony

FRAMEWORKS

Desarrollos en PHP / PHP5 y POO

Orientados a

DRY : Don’t Repeat Your SelfKISS: Keep It Simple, Stupid / Keep It Short and Simple

Page 30: PHP Con symfony
Page 31: PHP Con symfony

SYMFONY

DRY KISS

Page 32: PHP Con symfony

Symfony es un completo framework diseñado para optimizar el desarrollo de las aplicaciones web. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada vez que se crea una nueva aplicación web.

SYMFONY

Page 33: PHP Con symfony

Características

Realizado con PHP 5, Orientado a Objetos

Fácil Instalación y Garantía de funcionalidad en Windows y *nix

Independiente del Gestor de Bases de Datos (ORM: Doctrine/Propel)

MVC

Basado en la Premisa, “Convenir en vez de Configurar”

Contienen Comentarios de PHPDocumentor, Fácil lectura, y manuales en español. www.Librosweb.es/symfony

Extensible, incorpora plugins propios y de terceros

SYMFONY

Page 34: PHP Con symfony

M V C

Page 35: PHP Con symfony

¿Por qué Symfony (para las personas)?

Para el dueño del producto:

Fácil de mantener y soportar

Producto basado en buenas prácticas y patrones de diseño

Para el desarrollador(a) / consultor(a):

Desarrollos reusables

Fácil de integrar nuevos programadores al proyecto

Page 36: PHP Con symfony

Organización del Proyecto

Page 37: PHP Con symfony

Como funciona en SYMFONY

http://localhost/index.php/mimodulo/miAccion

Frontend

http://localhost/index.php/articulos/listar

http://localhost/index.php/comentario/añadir

Page 38: PHP Con symfony

Como funciona en SYMFONY

http://localhost/backend.php/mimodulo/miAccion

Backend

http://localhost/backend.php/articulo/crear

http://localhost/backend.php/rss/listarRecientes

Page 39: PHP Con symfony

Generador de administración (“Mantenimientos”)

Page 40: PHP Con symfony

Framework de formularios y validaciones

Page 41: PHP Con symfony

Herramientas de depuración

Page 42: PHP Con symfony

Herramientas de depuración

Page 43: PHP Con symfony

Plugins

Page 44: PHP Con symfony

SITIOS WEB CREADOS CON SYMFONY

http://trac.symfony-project.org/wiki/ApplicationsDevelopedWithSymfony

www.symfony-project.com

Page 45: PHP Con symfony

Closed Sourcewww.symfony-project.com: The symfony website itself is built with symfonyArticle Gold: Popular Articles Directory built on Symfony 1.4 (by Xenyo Ltd.)Security Monitoring: Our security monitoring appliances is build with symfony.Refactory.org: A public, multi-language code snippet library that anyone can editMerchant Pilot CRM : A CRM for the credit card processing and sales agent industry.sociallynotable.com: An Amazon.com affiliate website built with Symfony2 and Doctrine MongoDB ODM and lets you shop for products that are popular on Amazon.com ranked by what is being mentioned the most on Twitter!The Source CookBook: A Cookbook to keep and show your source code snippets. The recipes can be embedded everywhere and are beautifully highlighted especifically for every language.www.onlineradioz.com: Listen to your favorite online radio stations with playlist information and enjoy! (Build with symfony 1.2 and Doctrine)Perq: A business application for employee leave time. Built on Symfony 1.2, Doctrine, and SwiftMailer?. Integrated with Paypal.http://dpu.pmsipilot.com : free application to fully operate a (french) hospital emergency service - DPU est une solution complète, ergonomique et gratuite de gestion des dossiers patients entièrement dédiée aux services d’urgences.Blidoo: A generalist classified ads site.

SITIOS WEB CREADOS CON SYMFONY

Page 46: PHP Con symfony

QUE SE

NECESITA

Page 47: PHP Con symfony

SYMFONY

Page 48: PHP Con symfony

DEMOSTRACIÓN

LO DIVERTIDO

CreateReadUpdateDetele

En 10 Minutos?

Aplicación CRUD

Page 49: PHP Con symfony

Web oficial

www.symfony-project.org

Comunidad ¡EN ESPAÑOL!

www.symfony.es

Documentación ¡EN ESPAÑOL!

librosweb.es/symfony

www.symfony-project.org/jobeet/1_4/Doctrine/es/

Cheat sheets (Hojas resumen)

www.symfony.es/documentacion/chuletas/

Comienza a usar Symfony

Page 50: PHP Con symfony

“La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica”

Aristóteles.

Page 51: PHP Con symfony

!!!!GRACIAS!!!!

FRIKI DE PHP <?php echo $Framework->symfony();?>

FRIKI DE PHP<?php echo $Framework->symfony();?>

Ing. Carlos A Salazare-mail : [email protected] : @ElRuzoBlog : http://es.debugmodeon.com/usuario/csalazart/