Sie sind auf Seite 1von 34

Programacin Orientada a Objetos y Patrn MVC en PHP5

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Presentacin:

Pablo Ramirez A. (Arquitecto de Software)


Pregrado:
Tcnico Superior en Informtica (CUAM) 2000
Ingeniero en Sistemas (UBA) 2009
Ingeniera en Informtica (IUTOMS) (Cursando)
Postgrado:
Especialista en Gerencia de la Ciencia y Tecnologa (URBE) 2013
Especialista en Gerencia General (UNESR) (Cursando)
Diplomados:
Diplomado en Gerencia de Proyectos (UCAB - PMBOK 2012)
Diplomado en Administracin Tecnolgica y Funcional del
SIGESP
Estudios Avanzados en Tecnologas de Informacin y
Comunicacin (CIAP UCAB)
Certificaciones:
SL-110 SE6 Programacin Java para no programadores.
SL-275 SE6 Programacin Java.
SL-314-EE5 Desarrollo de Componentes Web con Servlet y JSP.
Certificado en Genexus 9.0 (Aplicaciones Web con Java)
Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Temario:

1.- Introduccin:
Como funciona una aplicacin WEB
Proyeccin de la WEB
Introduccin a PHP5
PHP5 y Programacin Orientada a Objetos
2.- Introduccin a la Programacin Orientada a Objetos (POO).
Elementos de la POO.
Caractersticas conceptuales de la POO.
3.- Programacin Orientada a Objetos en PHP5.
Clases y Objetos en PHP5.
Propiedades en PHP5.
Acceso a las propiedades de un objeto.
Constantes de clase
Mtodos en PHP5
4.- Introduccin al Patrn Arquitectnico MVC
Qu es la arquitectura de software?
Tendencias de la Arquitectura de Software
El Patrn Arquitectnico modelo-vista-controlador (MVC)
Qu es el patrn MVC?
Cmo funciona el patrn MVC?
5.- Framework
6.- Comparativa de 10 Framework en PHP
7.- Demo.
8.- Conclusin
Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Como Funciona una Aplicacin Web

Mdulo de Funciones
Base de
Datos

ODBC

1
6

Motor
Zend

Compila

Interfase del servidor

Ejecuta

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Proyecciones de la Web.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Introduccin a PHP5.

Soporte slido para Programacin Orientada a Objetos (OOP)

Data Objects.

Mejoras de rendimiento.

Mejor soporte para MySQL

Mejor soporte a XML (XPath, DOM, entre otros).

Soporte nativo para SQLite.

Soporte integrado para SOAP.


Iteradores de datos.
Excepciones de errores.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


PHP5 y Programacin Orientacin a Objetos.
PHP5 soporta una gran cantidad de funcionalidades para OOP.

Mtodos constructores y destructores.

Mtodos setter y getter.

Mtodos mgicos.

Clases, objetos y variables estticas, privadas y protegidas.

Clases abstractas.

Interfaces.
Abstraccin de datos.
Standard PHP Library (SPL).

Clases extendidas, excepciones, iteradores.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Introduccin a la Programacin Orientada a Objetos (POO)
La POO es un paradigma de programacin (o tcnica de programacin) que utiliza
objetos e interacciones en el diseo de un sistema.
Elementos de la POO.
Clases
Una clase es un modelo que se utiliza para crear objetos que comparten un mismo
comportamiento, estado e identidad.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Introduccin a la Programacin Orientada a Objetos (POO)
Elementos de la POO.
Objetos
Es una entidad provista de mtodos o mensajes a los cuales responde (comportamiento); atributos
con valores concretos (estado); y propiedades (identidad).

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Introduccin a la Programacin Orientada a Objetos (POO)
Elementos de la POO.
Mtodos
Es el algoritmo asociado a un objeto que indica la capacidad de lo que ste puede hacer.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Introduccin a la Programacin Orientada a Objetos (POO)
Elementos de la POO.
Evento y Mensaje
Un evento es un suceso en el sistema mientras que un mensaje es la comunicacin del
suceso dirigida al objeto.
Propiedades y atributos
Las propiedades y atributos, son variables que contienen datos asociados a un objeto.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Caractersticas Conceptuales de la POO
Abstraccin
Aislacin de un elemento de su contexto. Define las caractersticas esenciales de un objeto.
Encapsulamiento
Rene al mismo nivel de abstraccin, a todos los elementos que puedan considerarse
pertenecientes a una misma entidad.
Modularidad
Caracterstica que permite dividir una aplicacin en varias partes ms pequeas (denominadas
mdulos), independientes unas de otras.
Ocultacin (aislamiento)
Los objetos estn aislados del exterior, protegiendo a sus propiedades para no ser modificadas por
aquellos que no tengan derecho a acceder a las mismas.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Caractersticas Conceptuales de la POO
Polimorfismo
Es la capacidad que da a diferentes objetos, la posibilidad de contar con mtodos, propiedades y
atributos de igual nombre, sin que los de un objeto interfieran con el de otro.
Herencia
Es la relacin existente entre dos o ms clases, donde una es la principal (madre) y otras
son secundarias y dependen (heredan) de ellas (clases hijas), donde a la vez, los objetos
heredan las caractersticas de los objetos de los cuales heredan.
Recoleccin de basura
Es la tcnica que consiste en destruir aquellos objetos cuando ya no son necesarios, liberndolos
de la memoria.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
CLASES Y OBJETOS EN PHP5.
CLASE:

CLASE ABSTRACTA:

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
CLASES Y OBJETOS EN PHP5.
HERENCIA DE CLASES:

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
CLASES Y OBJETOS EN PHP5.
CLASES FINALES:

INSTANCIAR UNA CLASE

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
PROPIEDADES EN PHP5.

PROPIEDADES
PBLICA

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
PROPIEDADES EN PHP5.

PROPIEDADES
PRIVADAS

PROPIEDADES
PROTEGIDAS

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
PROPIEDADES EN PHP5.

PROPIEDADES
ESTTICAS

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
ACCEDIENDO A LAS PROPIEDADES DE UN OBJETO
ACCEDIENDO A UNA VARIABLE
DESDE UNA CLASE

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
ACCEDIENDO A LAS PROPIEDADES DE UN OBJETO
ACCEDIENDO A UNA VARIABLE
DESDE EL EXTERIOR DE UNA CLASE

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
CONSTANTES DE CLASE

METODOS EN PHP5

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
MTODOS MGICOS EN PHP5

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Programacin Orientada a Objetos (POO) en PHP5
Segn el Manual Oficial de PHP.
MTODOS MGICOS EN PHP5

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Introduccin al Patrn Arquitectnico MVC
Que es la arquitectura de software
Es la forma en la que se organizan los componentes de un sistema, interactan y se relacionan
entre s y con el contexto, aplicando normas y principios de diseo y calidad, que fortalezcan y
fomenten la usabilidad a la vez que dejan preparado el sistema, para su propia evolucin.
Tendencias de la Arquitectura de Software
La Arquitectura de Software Orientada a Objetos (como ingeniera de sistemas).
La Arquitectura Estructurada (como desarrollo de una aplicacin).
La arquitectura basada en patrones.
La arquitectura basada en procesos y metodologas.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


El Patrn Arquitectnico MVC
Qu es el patrn MVC?
El patrn MVC es un patrn de arquitectura de software encargado de separar la
lgica de negocio de la interfaz del usuario y es el ms utilizado en aplicaciones Web,
ya que facilita la funcionalidad, mantenibilidad y escalabilidad del sistema, de forma
simple y sencilla.
MVC divide las aplicaciones en tres niveles de abstraccin:
Modelo: representa la lgica de negocios.
Vista: es la encargada de mostrar la informacin al usuario de forma grfica y
humanamente legible.
Controlador: es el intermediario entre la vista y el modelo.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Como Funciona el Patrn Arquitectnico MVC

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Frameworks
Un Framework, Marco de Trabajo o WAF (Web Application Framework), es una
serie de libreras (toolkits) que se han unido bajo un nico esquema de colaboracin
para que de manera rpida (RAD: Rapid Application Development) logremos
desarrollar nuestras aplicaciones.

Entre las ventajas se cuenta:


No hay que definir marco de desarrollo, solo rellenar los huecos

frameworks nos indican.


Trabajamos sobre un Estndar que miles de personas ya conocen.

Facilidad para encontrar herramientas, libreras o documentacin.

Relacin Coste de aprendizaje vs. Aplicabilidad mnima.

Pablo Ramirez A.

que los

Programacin Orientada a Objetos y Patrn MVC en PHP5


Frameworks
Algunos Framework MVC:

Yii Framework.

CakePHP.

CodeIgniter.

Symfony.
PHP on Trax.
Zend Framework.
Laravel Framework, entre otros...

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Comparativa de 10 Framework en PHP

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Conclusiones
El desarrollo de web aplicaciones es un conjunto de tecnologas, estndares
y normativas de accesibilidad, reusabilidad y operatividad de la Web que se deben
cumplir para evitar posteriores dolores de cabeza por desconocimiento del entorno
de despliegue de la aplicacin, es decir la Web.

Los patrones de diseo, es una forma simple de resolver problemas cotidianos y que
que son muy repetitivos en nuestro entorno. No requiere una implantacin con
lenguaje de programacin por lo que ofrece, un idioma comn entre programadores de
distintos lenguajes.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Conclusiones :: Continuacin.
La programacin MVC aplicada a la web no es una opcin, es una necesidad!

Por que?

Desarrollas para una interfaz, no para una implementacin.

Todo tu equipo se dedica a su especialidad preferida.

Desarrollo sostenible y mantenible.

Es posible migrar en diferentes direcciones.


Evolucin rpida de la aplicacin.
Terminas ms rpido!.

Pablo Ramirez A.

Programacin Orientada a Objetos y Patrn MVC en PHP5


Conclusiones :: Continuacin.
Los llamados Framework o , WAF, es una serie de libreras (toolkits) que se han
unido bajo un nico esquema de colaboracin para que de manera rpida
Rapid Application Development) logremos desarrollar nuestras aplicaciones.

Pablo Ramirez A.

(RAD:

Programacin Orientada a Objetos y Patrn MVC en PHP5

Gracias por su Atencin!


"Programar sin una arquitectura o diseo en mente es como explorar una gruta slo con
una linterna: no sabes dnde ests, dnde has estado ni hacia dnde vas
Autor: Danny Thorpe
"En el mundo del software, los activos ms importantes de la compaa se van a casa
todas las noches. Si no se les trata bien, pueden no volver al da siguiente
Autor: Peter Chang

Pablo Ramirez A.

Das könnte Ihnen auch gefallen