Библиотека PHP программиста 👨🏼‍💻👩‍💻
2.17K subscribers
349 photos
169 videos
7 files
346 links
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon

По всем вопросам @evgenycarter
Download Telegram
Ты используешь ?? или остаёшься на isset()?

Удобное сокращение или запутанный синтаксис? Что думаешь...

👉 @php_lib
👍3
Сегодня хочу показать вам, как магические методы в PHP могут упростить жизнь, если использовать их с умом.

Многие знают о __construct() и __destruct(), но PHP предлагает целый арсенал магических методов - от __get() и __set() до __invoke() и __callStatic().

Например, рассмотрим кейс с динамическими свойствами:


class Config {
private array $data = [];

public function __get($name) {
return $this->data[$name] ?? null;
}

public function __set($name, $value) {
$this->data[$name] = $value;
}
}

$config = new Config();
$config->appName = 'MyApp';

echo $config->appName; // MyApp


Мы не определяли свойство appName, но с помощью __get() и __set() сделали объект гибким, почти как массив. Это удобно для конфигов, DTO и API-ответов.

Но! ⚠️
Если переусердствовать - код становится магическим не только для PHP, но и для вас самого 😄
Отладка, автодополнение и читаемость страдают. Поэтому правило простое:
используйте магию осознанно.

👉 @php_lib
👍1