Este repositorio contiene materiales y ejercicios para un curso de Programación Orientada a Objetos (POO) en PHP. El curso cubre varios conceptos clave en programación orientada a objetos, incluidos constructores, herencia y visibilidad.
Basado en 4 pilares de la POO: Encapsulación, Abstracción, Herencia y Polimorfismo.
En PHP, un constructor es un método "mágico" especial que se llama automáticamente cuando se crea un objeto. Normalmente se utiliza para inicializar las propiedades del objeto. En este curso, aprenderá cómo definir y utilizar constructores en sus clases de PHP.
La herencia es un concepto fundamental en programación orientada a objetos que le permite definir una nueva clase basada en una clase existente. Esto le permite reutilizar código y crear clases más especializadas basadas en las generales. Este curso le enseñará cómo utilizar la herencia en PHP para crear código más eficiente y organizado.
La visibilidad en PHP OOP se refiere a la accesibilidad de las propiedades y métodos de una clase. Hay tres niveles de visibilidad:
En este curso, aprenderá cómo utilizar estos diferentes niveles de visibilidad para controlar el acceso a su código.
- `::` Scope Resolution Operator
- Like the `__toString` method is called when an object is used in a string context.
- Getters and Setters can have property names passed to get around multiple method calls
- An abstract class is a class that **cannot be instantiated on its own** and is typically used as a base class for other classes.
- The abstract class provides properties and funciontality which is shared by all the classes that inherit from it.
- Declared in an abstract class implementation is provided by the classes that inherit from the abstract class.
- if class extends three dimensions shape aka abstract it must implement the abstract method `getVolume`
- Good for:
- You want to provide a common interface for different classes
- You want to enforce certain methods to be implemented by the child class
- You are designing a large functional unit by using the Template Method patter
- Default implementation of a method in an interface
- Objects that can take on many forms
- an instance of an object that can take more than one type is polymorphic
- Injecting this single type is not as usefull `public function updateStockFromFile(string $path, CsvFileReader $fileReader): array`
- Using `instanceof` we can check if the object is of a certain type
- Closure functions
- Abstract classes and methods
- Uml diagrams
- Dependency injection
PHP
POO
Aprendizaje-PHP
Curso PHP
Constructores
Herencia
Visibilidad
Encapsulación
Abstracción
Polimorfismo
Unidad PHP
DOP
Espacios de nombres
Carga automática
Rasgos
Manejo de errores
mysql
Compositor
Prueba-PHP
Desarrollo basado en pruebas