В этом репозитории собраны материалы и упражнения курса по объектно-ориентированному программированию (ООП) на PHP. Курс охватывает несколько ключевых концепций ООП, включая конструкторы, наследование и видимость.
Основан на 4 столпах ООП: инкапсуляция, абстракция, наследование и полиморфизм.
В PHP конструктор — это специальный «магический» метод, который автоматически вызывается при создании объекта. Обычно он используется для инициализации свойств объекта. В этом курсе вы узнаете, как определять и использовать конструкторы в классах PHP.
Наследование — это фундаментальная концепция ООП, которая позволяет вам определить новый класс на основе существующего класса. Это позволяет повторно использовать код и создавать более специализированные классы на основе общих. Этот курс научит вас использовать наследование в PHP для создания более эффективного и организованного кода.
Видимость в ООП PHP означает доступность свойств и методов в классе. Существует три уровня видимости:
В этом курсе вы узнаете, как использовать различные уровни видимости для управления доступом к вашему коду.
- `::` 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
ООП
Обучение-PHP
PHP-курс
Конструкторы
Наследование
Видимость
Инкапсуляция
Абстракция
Полиморфизм
PHPUnit
ПДО
Пространства имен
Автозагрузка
Черты
Обработка ошибок
MySQL
Композитор
Тестирование-PHP
Разработка через тестирование