POO y MVC en PHP
¿A quiénes está dirigido este libro?
Este libro está dirigido principalmente, a programadores PHP que quieran salir de la
programación estructurada para insertarse en la programación orientada a objetos y, a
programadores de otros lenguajes que quieran comenzar a insertarse en la POO en
PHP y que cuenten con mínimos conocimientos de este lenguaje.
Objetivo
El objetivo de este libro, es dar una introducción general a conceptos básicos de la programación como lo son, el paradigma de la programación orientada a objetos y el patrón arquitectónico MVC (modelo, vista, controlador), a la vez de intentar introducir estos conceptos, en la programación específica del lenguaje PHP.
Requisitos previos
Para poder entender este libro, los requisitos previos que debe tener el lector, no son muchos. Recomiendo que se tengan conocimientos básicos del lenguaje PHP así como la facilidad para entender código HTML básico (se utilizará HTML Transitional 4.0 en algunos ejemplos, evitando el uso de XHTML, a fin de que programadores sin experiencia en el diseño y maquetado de sitios Web, puedan comprender más fácilmente los ejemplos utilizados).
Contenido del libro
A fin de lograr cumplir con los objetivos propuestos, este libro ha sido diseñado con una
estructura esquemática y seguiendo normas de estilo a fin de diferenciar su contenido.
Estructura del libro
Este libro se encuentra dividido en 4 capítulos donde dos de ellos, introducen a
conceptos básicos de la POO y el patrón MVC (en general) y los otros dos, colocan a la POO y al patrón MVC en el contexto del lenguaje PHP.
Entender el contenido diferenciado
Este libro no pretende ser un compendio de conceptos meramente teóricos. A fin de alcanzar un abordaje más preciso y fácilmente entendible, se ha divido el libro en 7 tipificaciones de contenido diferenciadas:
1. marco teórico (contenido propio y citas de terceros)
2. ejemplo práctico (código fuente de ejemplo)
3. metáforas (comparación con ejemplos de la vida real – tomando esta técnica de
un principio básico de Extreme Programming)
4. sugerencias de estilo (reglas de estilo sugeridas para la programación en PHP)
5. ejercicios de autoevaluación
6. programación real (ejemplos con códigos fuente reales)
7. preguntas a respuestas frecuentes
Marco teórico (contenido propio)
Texto general del libro.
Marco teórico (cita de terceros)
Las citas presentan el siguiente formato:
“Esto es una cita textual de terceros. La fuente se encuentra al pie de página.”
Ejemplo práctico (código fuente)
El código fuente se encuentra con una tipografía monoespaciada y con la sintaxis del lenguaje coloreada.
class Usuario {
# Propiedades
public $nombre;
# Métodos
public function set_usuario() {
$this->nombre = 'Juan';
}
}
Metáforas (comparación con la vida real)
A fin de ejemplificar con facilidad un concepto netamente teórico, se darán ejemplos utilizando hechos de la vida cotideana, que puedan asemejarse al concepto que se esté explicando. Estas metáforas, se presentarán con un diseño como el siguiente:
Esto es una Metafora:
Si no tengo el ícono, soy un ejemplo de la vida
real, pero no soy una metáfora.
Sugerencias de estilo
A diferencia de otros lenguajes de programación como Python, por ejemplo, PHP no tiene una guía de prácticas recomendadas o sugerencias de estilo. Esto, hace que muchas veces, cada programador le de al código fuente un “toque” característico.
Si bien es un rasgo de personalidad tal vez admirable, en la práctica, provoca que sea difícil modificar el código fuente escrito previamente por otro programador.
A fin de proponer una alternativa para solucionar este inconveniente y basándome en el principio de “propiedad colectiva” de Extreme Programming así como en la técnica de establecimiento de pautas de estilo que hagan un código homogéneo, a lo largo del libro iré sugiriendo algunas reglas de estilo según surjan, cuyo finalidad tiende a:
1. hacer los códigos fuente más intuitivos;
2. escribir códigos fuente fácilmente legibles.
Las Sugerencias de Estilo presenta un formato similar al siguiente:
Reglas de estilo sugeridas.
Esto es una regla de estilo
sugerida en referencia al tema
que se está tratando.
Ejercicios de autoevaluación
Al final de los capítulos II y IV, hay una breve serie de ejercicios, cuya finalidad, es la de
asimilar los conocimientos adquiridos en los capítulos anteriores. Las soluciones a dichos
ejercicios, se encuentran al final de cada uno de ellos.
Programación real
Tras los ejercicios presentados al finalizar los capítulos II y IV, se
podrá encontrar código fuente de casos reales. Dichos códigos,
pretenden dar al lector, una noción más práctica de los temas que
se han tratado, aplicándola a la vida cotideana de un desarrollador.
Los encontrarás fácilmente identificando el ícono de PHP como el
que se muestra a la izquierda de este párrafo.
Respuestas a preguntas frecuentes
Aquí encontrarás todas las preguntas sobre los códigos fuente que se
encuentren en la sección “programación real”. Dicha sección, se
encuentra identificada con el icono que se muestra a la derecha de
este párrafo.
Introducción a la Programación Orientada a Objetos (POO)
La POO es un paradigma de programación (o técnica de programación) que utiliza objetos e interacciones en el diseño de un sistema.
Elementos de la POO
La POO está compuesta por una serie de elementos que se detallan a continuación.
Clase
Una clase es un modelo que se utiliza para crear objetos que comparten un mismo
comportamiento, estado e identidad.
Metáfora
Persona es la metáfora de una clase (la abstracción de
Juan, Pedro, Ana y María), cuyo comportamiento
puede ser caminar, correr, estudiar, leer, etc. Puede
estar en estado despierto, dormido, etc. Sus
características (propiedades) pueden ser el color de ojos,
color de pelo, su estado civil, etc.
class Persona {
# Propiedades
# Métodos
}
Objeto
Es una entidad provista de métodos o mensajes a los cuales responde (comportamiento);
atributos con valores concretos (estado); y propiedades (identidad).
$persona = new Persona();
/*
El objeto, ahora, es $persona,
que se ha creado siguiendo el modelo de la clase Persona
*/
Método
Es el algoritmo asociado a un objeto que indica la capacidad de lo que éste puede hacer.
function caminar() {
#...
}
Evento y Mensaje
Un evento es un suceso en el sistema mientras que un mensaje es la comunicación del
suceso dirigida al objeto.
Propiedades y atributos
Las propiedades y atributos, son variables que contienen datos asociados a un objeto.
$nombre = 'Juan';
$edad = '25 años';
$altura = '1,75 mts';
SIGUE APRENDIENDO DESCARGANDO EL ARCHIVO