PROGRAMACIÓN ORIENTADA A OBJETOS
Julio 2009 / Versión 1.8.9
PARA
PHP5
"Aprende de forma simple y definitiva POO para PHP5,
deja de ser Programador de Páginas Dinámicas y
empieza a convertirte en Desarrollador de Sistemas"
por Enrique Place
Usuario: Juan Zapata
2 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
SURFORCE / FORMACIÓN
www.surforce.com
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
3 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
SURFORCE / FORMACIÓN
www.surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
SURFORCE / FORMACIÓN
www.surforce.com
“Este LIBro es un Servicio”
4 de 294
Este Libro está licenciado bajo Creative Commons y puedes distribuirlo con libertad a quienes
consideres que pueda serle útil tenerlo.
decides adquirir el SERVICIO COMPLETO
Si
usuarios.sURFORCE.com y por el período de tiempo que elijas obtendrás:
podrás
tener
acceso
a
1. Poder hacer CONSULTAS DIRECTAS AL AUTOR: cualquier parte del libro, tanto
dudas sobre ejemplos, capítulos, ejercicios y estas se responderán normalmente durante las
próximas 24-48hs (aunque lo más probable que obtengas una respuesta en pocas horas).
2. Acceso a TODOS LOS FUENTES: de todos los ejercicios del libro, revisados y comentados
por el mismo autor.
3. ACTUALIZACIONES mensuales: tanto correcciones como ejemplos o hasta capítulos
nuevos, lo que podrá incluir a futuro acceso a material multimedia (screencasts, podcasts, etc).
4. Cambia el contenido del libro: si consideras que algún capítulo, ejemplo o
ejercicio podría mejorarse, o algún tema que ves no se encuentra tratado en el libro, tu
sugerencia será recibida y tenida en cuenta para la próxima actualización mensual del libro.
Aprovecha la oportunidad de expandir las posibilidades de un libro digital obteniendo todo el soporte
que no te podría dar nunca un libro tradicional (y de paso salvamos algunos bosques).
ADQUIERE EL LIBRO COMPLETO en SURFORCE y accede a todos los servicios en
http:/usuarios.surforce.com
[ATENCIÓN: si este material se encuentra impreso, es probable que ya
esté desactualizado]
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
5 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
Versiones del documento
Versión Fecha
Descripción
1/01/2009
Primera versión
SURFORCE / FORMACIÓN
www.surforce.com
Autor
enriqueplace
1
1.1
1.2
1.3
15/01/2009 Segunda revisión, recopilación de ejemplos
enriqueplace
31/01/2009 15 días de revisión de contenidos
enriqueplace
01/02/2009 Se separa como un capítulo el tema
enriqueplace
“Paquetes UML” y se agrega un capítulo
nuevo sobre “Excepciones”
1.4
3/02/2009
Agrega capítulo “Debemos
Profesionalizarnos” (post del blog)
enriqueplace
1.5
4/02/2009
Error: corrección capítulo 8, diseño 2, cambia
echo por retorno en clase Persona
andresfguzman
(corrector)
1.6
6/2/2009
Agrega nota de autor recalcando el tema de
los estándares de codificación definidos por
Zend y que todos los ejemplos de este libro lo
seguirán
enriqueplace
1.7
6/2/2009
Enumera los Principios que deberíamos seguir
los desarrolladores
enriqueplace
1.7.1
10/2/2009
Correcciones en fuentes, espacios, estética
Dennis Tobar (lector)
1.7.2
28/2/2009
Cap.11: Agrega explicación sobre auto-
relación con Persona (cuadro de color verde)
1.7.3
10/3/2009
Cap. 10: Agrega ejemplo y explicación extra
en el caso de "qué hacer con las relaciones
cíclicas / bidireccionales"
1.7.4
22/3/2009
Cap. 14: corrección en la redacción del
resumen final
1.7.5
24/3/2009
Cap.11: Agrega explicación de "Confusión
común" con respecto a confundir
bidireccional con cíclica (cuadro "verde")
Colabora:
Antonio L. Gil (lector)
Colabora:
Eduardo de la Torre
(lector)
Colabora:
Raquel Diaz (lector)
enriqueplace
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
6 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
1.7.6
26/3/2009
Cap.7: el ejemplo de calcular la edad no está
completo, debería retornar un integer y no el
valor del atributo "_fechaNacimiento"
1.7.7
26/3/2009
Cap.10: amplía la explicación sobre
“Multiplicidad”
1.7.8
1/4/2009
Cap. 7: ejemplo “decirEdad” tiene un
parámetro de más
1.8.0
3/4/2009
Agrega Anexo: "Qué es lo nuevo en PHP5?",
basado en el artículo "What's New in PHP5?"
1.8.1
25/4/2009
Cap.19, parte 2, error, cambia "Copy" por
"MaquinaDeEscribir"
SURFORCE / FORMACIÓN
www.surforce.com
Colabora:
Carlos Arias (lector)
Colabora:
Christian Tipantuña
(alumno)
Colabora:
Carlos Arias
(alumno/lector)
enriqueplace
Colabora:
Karina Diaz
(alumna/lector)
1.8.2
25/4/2009
Cap.19, ajusta diagrama UML, cambia
parámetro leer:String por texto:String en
MaquinaDeEscribir
Colabora:
Karina Diaz
1.8.3
15/5/2009
Revisión Cap.1
1.8.4
20/5/2009
Revisión Cap.2
(alumna/lector)
enriqueplace
enriqueplace
1.8.5
4/7/2009
Revisión Cap.3, definición de “contexto”
enriqueplace
1.8.6
4/7/2009
Capítulo 3 está repetido, dos capítulos tienen
el mismo nombre, se unifican en el capítulo 4,
cambiando al nombre de “POO según los
Manuales” (incluyendo ahora Wikipedia y el
manual Oficial)
enriqueplace
1.8.7
4/7/2009
Cap.4 agrega enlaces a Wikipedia
enriqueplace
1.8.8
5/7/2009
Cap.5 – revisión y ampliación sobre el
concepto de “diseño”
enriqueplace
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
7 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
SURFORCE / FORMACIÓN
www.surforce.com
1.8.9
5/7/2009
Cap.6 – revisión
enriqueplace
¡Mis más sinceros agradecimientos a lectores y colegas con sus aportes!
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
8 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
Sobre el Autor
SURFORCE / FORMACIÓN
www.surforce.com
Enrique Place
(35 años), nacido en
Uruguay y actualmente viviendo en
Argentina (pero “ciudadano de Internet”),
es uno de los tantos “emprendedores por
naturaleza” que cambió a los 14 años su
fanatismo por
las artes marciales
(algunos llegaron a pensar que sería el
sudamericano del Pequeño
sucesor
Dragón) por el
la
informática.
fanatismo hacia
Por cuestiones que solo el destino sabrá,
tuvo la oportunidad de trabajar con los
antiguos y míticos dinosaurios de la informática llamados Mainframes y participó en una misión para
salvar a la raza humana de su extinción migrando aplicaciones para sobrevivir al colapso del Y2K,
convirtiendo a diestra y siniestra código Mantis / Mainframe a Microfocus Cobol y Windows NT / Unix
AIX.
Paralelamente, fundó una pequeña empresa llamada LINUXTECH, quién fue la primer importadora para
Uruguay de SuSE GNU/Linux (Alemania) y que dio los primeros pasos al evangelizar usuarios y empresas
brindando servicios profesionales.
De profesión “Analista Programador”, estudiante y posteriormente docente en la Universidad ORT
(Uruguay), aprovechó todo lo que pudo aprender de arquitecturas como .Net y Java, conocer de
Patrones de Diseño (GOF), como para darse cuenta que PHP, su verdadero amor informático, tenía un
gran potencial por su simplicidad y pragmatismo, y que además su comunidad carecía completamente
de una visión amplia como para entender todo lo que aún faltaba recorrer (como lo habían hecho ya
otras tecnologías).
Finalmente, el autor no se considera “gurú” y simplemente como “en el país de los ciegos, el tuerto es
rey”, de la mano a su facilidad para enseñar (radicada en que aún es “alumno de todo”), es que se inicia
en el camino de tratar de transmitir nuevos conocimientos a la Comunidad PHP.
Este libro se escribe con el objetivo de que los actuales Programadores PHP se conviertan en el corto
plazo en Desarrolladores PHP aprobando la materia que más les cuesta:
"Programación Orientada a Objetos en PHP5"
"Este libro fue escrito para ti, Pequeño Saltamontes"
SURFORCE | mail:
[email protected] | blog: http://www.surforce.com/blog/| web: surforce.com
Licencia: http://creativecommons.org/licenses/by-nc/3.0/
9 de 294
Programación Orientada a Objetos en PHP5
Edición: Julio 2009 / Usuario: Juan Zapata
Agradecimientos
SURFORCE / FORMACIÓN
www.surforce.com
A mi familia: mi amada esposa Laura, mis amadas hijas Micaela y Martina, que
tantas veces soportaron que su padre estuviera ausente por tener la cabeza en
otro lado. Este fue uno de los tantos proyectos que le robó tiempo a la familia,
pero que espero que de alguna forma u otra lo disfruten ellas.
A la Univer
Comentarios de: Programación Orientada a Objetos en PHP5 (0)
No hay comentarios