Ты используешь ?? или остаёшься на isset()?
Удобное сокращение или запутанный синтаксис? Что думаешь...
👉 @php_lib
Удобное сокращение или запутанный синтаксис? Что думаешь...
👉 @php_lib
👍3
Сегодня хочу показать вам, как магические методы в PHP могут упростить жизнь, если использовать их с умом.
Многие знают о
Например, рассмотрим кейс с динамическими свойствами:
Мы не определяли свойство
Но! ⚠️
Если переусердствовать - код становится магическим не только для PHP, но и для вас самого 😄
Отладка, автодополнение и читаемость страдают. Поэтому правило простое:
используйте магию осознанно.
👉 @php_lib
Многие знают о
__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