Перевантаження (Overloading) в PHP надає засоби для динамічного створення властивостей і методів. Ці динамічні сутності обробляються за допомогою магічних методів, які можна створити в класі для різних типів дій.
Методи перевантаження викликаються при взаємодії з властивостями або методами, які не були оголошені або невидимі в поточній області видимості.
Усі методи перевантаження мають бути визначені як public.
<?php
class Configuration {
private $someProperty;
public function __get($key) {
return $this->$key;
}
public function __set($key, $value) {
$this->$key = $value;
}
}
$config = new Configuration();
$config->someProperty = 'value of property'; // надаємо властивість за допомогою магічного методу
print_r($config->someProperty); // отримуємо доступ до цієї властивості