Programación Orientada A Objetos En PHP
Enviado por juank19 • 29 de Noviembre de 2012 • 3.287 Palabras (14 Páginas) • 733 Visitas
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC Tema 1: Programación Orientada a Objetos en PHP
Diseño y Programación de Sitios Web con PHP I.S.C. Juancarlos Jiménes Rivera
Programación Orientada a Objetos en PHP
La Programación Orientada a Objetos (POO) es un tipo de programación agregada a PHP 5 que hace de la construcción compleja, modular y reusable de aplicaciones web mucho más fácil. Con el lanzamiento de PHP 5, los programadores en PHP finalmente tienen el poder de programar como los grandes. Así como Java y C#, PHP finalmente tiene una completa infraestructura POO.
En este manual, serás guiado (paso a paso) a través del proceso de construir y trabajar con objetos usando las capacidades de POO. Al mismo tiempo aprenderás:
• La diferencia entre construir una aplicación al estilo antiguo (por procedimiento) versus la manera POO.
• Cuales son los principios básicos de la POO y como se usan en PHP.
• Cuando debes usar POO en tus scripts PHP.
La gente entra en confusión cuando programa por falta del entendimiento de lo básico. Con esto en mente, vamos a pasar lentamente sobre los temas básicos de la POO mientras creamos nuestros propios objetos en PHP.
Con este conocimiento, podrás ser capaz de explorar POO aun más. Para este manual, debes entender un poco lo básico de PHP: funciones, variables, condicionales y bucles o repeticiones.
Para hacer las cosas más fácil, el tutorial se encuentra dividido en 23 pasos:
Paso 1: Preparando todo
Primera cosa que necesitamos es crear nuestra páginas PHP: index.php y “Clase.php” donde “Clase” es el nombre de la clase PHP que deseamos crear por lo tanto dicho nombre tendrá que ser el nombre del archivo con extensión “.php” por ejemplo: Si la clase que deseamos crear es Persona el nombre del archivo será “Persona.php”
<?php
class Persona{
// Cuerpo de la Clase }
?>
1
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC Tema 1: Programación Orientada a Objetos en PHP
Diseño y Programación de Sitios Web con PHP I.S.C. Juancarlos Jiménes Rivera
La POO trata acerca de crear código modular, de manera que nuestro código PHP orientado a objetos será contenido en archivos dedicados que serán insertados en nuestra paginas PHP usando "require" de PHP. En este caso todo nuestro código PHP OO estará en el archivo de las clases:
OOP se revuelve alrededor de una estructura construida llamada 'clase' (class). Las clases son los encargados de definir las plantillas que posteriormente son usadas para la definición de objetos.
Paso 2: Crea una clase en PHP.
En vez de tener un montón de funciones, variables y código flotando de manera espontánea, para diseñar tus scripts PHP o librerías de códigos a la manera de POO, necesitaras definir/crear tus propias clases.
Defines tus propias clases comenzando con la palabra clave "class" (clase) seguida del nombre que le quiere dar a su nueva clase.
Paso 3: Agrega datos a tu clase
Las clases son los planos de los objetos PHP- más sobre esto luego. Una de las grandes diferencias entre las funciones y clases es que la clase contiene ambos datos (variables) y funciones que forman un paquete llamado un "objeto". Cuando creas una variable dentro de una clase, es llamada una "propiedad" o “atributo”.
Nota: Los datos/variables dentro de una clase (ej: var name ) son llamados "propiedades".
<?php
class Persona{
// Cuerpo de la Clase }
?>
<?php
class Persona{
var $nombre; }
?>
2
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC Tema 1: Programación Orientada a Objetos en PHP
Diseño y Programación de Sitios Web con PHP I.S.C. Juancarlos Jiménes Rivera
Paso 4: Agrega funciones y métodos a tus clases.
De la misma manera que las variables obtienen un nombre diferente cuando son creadas dentro de una clase (llamadas: propiedades) las funciones también son referidas con un nombre diferente cuando son creadas dentro de una clase – son llamadas ‘métodos’.
Los métodos de las clases son usados para manipular su propios datos/propiedades.
<?php
class Persona{
var $nombre;
function setNombre($nombre) { $this->nombre=$nombre;
}
function getNombre(){
return $this->nombre;
} }
?>
Nota: No olvides que en una clase, las funciones son llamadas "métodos".
Paso 5: Funciones que obtienen y que establecen.
Hemos creado dos funciones/métodos interesantes: setNombre() y getNombre(). Estos métodos siguen una convención de POO que tu podrás ver en muchos lenguajes (incluyendo Java y Ruby) donde creas métodos que establecen y obtienen propiedades en una clase.
Otra convención (una convención para nombrar) es que los nombres para obtener (get) y establecer (set) deberían ser similares a los nombres de las propiedades.
<?php
class Persona{
var $nombre;
function setNombre($nombre) {
3
INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPEC Tema 1: Programación Orientada a Objetos en PHP
Diseño y Programación de Sitios Web con PHP I.S.C. Juancarlos Jiménes Rivera
$this->nombre=$nombre; }
function getNombre(){
return $this->nombre;
} }
?>
Nota: Nótese que los nombres que obtienen y establecen (setNombre y getNombre) hacen juego con el nombre de propiedad asociada (nombre). De esta manera, si otros programadores PHP quieren usar sus objetos, ellos sabrán que tienes un método/función llamado "setNombre()" (establecer nombre), el cual se relaciona con la propiedad/variable llamada "nombre".
Paso 6: La variable '$this'
Ya probablemente has notado esta línea de código: $this->nombre = $nombre.
El $this es una variable incluida (construida automáticamente dentro de todos los objetos) que apunta al objeto actual. O en otras palabras, $this es una variable especial de auto- referencia. Puedes usar $this para accesar a las propiedades y llamar a otros métodos de la clase actual donde te encuentras.
Nota: Esto podría ser un poco confuso para ti... esto es porque lo estás viendo por primera vez a menos que sea programador Java, es una de aquellas capacidades del OO (construidas dentro del mismo PHP 5) que hace las cosas automáticamente para nosotros. Por ahora, solo
...