Este repositório contém materiais e exercícios para um curso de Programação Orientada a Objetos (OOP) em PHP. O curso cobre vários conceitos-chave em OOP, incluindo construtores, herança e visibilidade.
Baseado em 4 pilares da OOP: Encapsulamento, Abstração, Herança e Polimorfismo.
Em PHP, um construtor é um método “mágico” especial que é chamado automaticamente quando um objeto é criado. Normalmente é usado para inicializar as propriedades do objeto. Neste curso, você aprenderá como definir e usar construtores em suas classes PHP.
Herança é um conceito fundamental em OOP que permite definir uma nova classe com base em uma classe existente. Isso permite reutilizar código e criar classes mais especializadas baseadas em classes gerais. Este curso ensinará como usar herança em PHP para criar código mais eficiente e organizado.
Visibilidade em PHP OOP refere-se à acessibilidade de propriedades e métodos em uma classe. Existem três níveis de visibilidade:
Neste curso, você aprenderá como usar esses diferentes níveis de visibilidade para controlar o acesso ao seu 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
Aprendizagem-PHP
Curso PHP
Construtores
Herança
Visibilidade
Encapsulamento
Abstração
Polimorfismo
Unidade PHP
DOP
Espaços para nome
Carregamento automático
Características
Tratamento de erros
MySQL
Compositor
Teste-PHP
Desenvolvimento Orientado a Testes