Tutorial de POO en PHP8
Fundamentos
Introducción
Clases y Objetos
Propiedades
Métodos
Parámetros de Métodos
Propiedades dentro de Clases
Métodos dentro de Clases
Constructor
Propiedades a través de Parámetros del Constructor
Propiedades Privadas
Métodos Privados
Getters de Propiedades
Setters de Propiedades
Ventajas de Setters y Getters
Avanzado
Archivos de Clases
Cadenas de Métodos en Clase
Clase como Conjunto de Métodos
Arrays de Objetos
Objetos dentro de Clases
Operador de Extracción Segura
Operador de Extracción Segura en Cadenas
Manipulación de Objetos en Clases
Paso por Referencia
Operador instanceof
Herencia
Herencia de clases
Herencia de métodos públicos
Métodos de la clase hija
Sobrescritura de métodos del padre
Llamada al método sobrescrito
Constructor en la herencia
Métodos privados en la herencia
Propiedades privadas en la herencia
Problema de las propiedades privadas en la herencia
Métodos protegidos
Propiedades protegidas
Operador instanceof y herencia
Llamadas
Nombre de propiedad desde variable
Nombre de propiedad desde array
Nombre de propiedad desde array asociativo
Nombre de propiedad desde función
Nombre de propiedad desde objeto
Método desde variable
Llamada después de creación
Static
Métodos estáticos
Métodos estáticos dentro de la clase
Propiedades estáticas
Propiedad estática dentro de la clase
Llamada a través de clase y objeto
Combinación con static
Métodos estáticos y $this
Ejemplo
Funciones
Obtención del nombre de la clase
Obtención de los métodos de la clase
Obtención de las propiedades de la clase
Obtención de las propiedades del objeto
Comprobación de la existencia de la clase
Comprobación de la existencia del método
Comprobación de la existencia de la propiedad
Obtención de la clase padre
Comprobación de la herencia de clases
Comprobación de la pertenencia del objeto
Obtención de todas las clases declaradas
Resumen
Interfaces
Introducción a las interfaces
Práctica sobre la aplicación de interfaces
Reglas de nomenclatura de interfaces
Aplicación de interfaces
Parámetros de métodos en la interfaz
Declaración del constructor en la interfaz
Herencia de interfaces entre sí
Interfaces e instanceof
Implementación de varias interfaces
Herencia de clase e implementación de interfaz
Constantes en interfaces
Funciones para interfaces
Traits
Introducción a los traits
Múltiples traits
Conflictos de métodos
Modificadores de acceso
Cambio de permisos de acceso a métodos del trait
Prioridad de métodos
Métodos abstractos
Traits en traits
Funciones para traits
Magia
Introducción
Método __toString
Obtención de propiedades
Propiedades de solo lectura
Lectura de propiedades inexistentes
Establecimiento de propiedades
Escritura de propiedades inexistentes
Verificación de propiedades al escribir
Práctica
Espacios de nombres y autocarga
Introducción a los espacios de nombres
Sintaxis de los espacios de nombres
Subespacios de nombres
Llamada simplificada
Espacios de nombres en archivos
Rutas relativas en el espacio de nombres
Comando use
Conexión de múltiples clases
Comando use y rutas relativas
Alias de clases
Autocarga estándar de clases
Reglas de autocarga
Autocarga personalizada de clases