Полезные функции ООП в PHP

Конспект в доработке

    ::class

    Запись ClassName::class вернёт абсолютное имя класса ClassName. Это полезно при работе с классами, которые определили в пространстве имён

    namespace NS { class ClassName {} } $c = new ClassName(); print $c::class;
    Nullsafe

    К свойствам и методам можно обращаться через оператор NullSefe ?->
    Оператор добавлен в PHP 8.0, предотвращает фатальную ошибку и последующую остановку выполнения при вызове метода или свойства со значением null

    // Начиная с PHP 8.0.0 эта строка: $result = $repository?->getUser(5)?->name; // эквивалентна следующему блоку кода: if (is_null($repository)) { $result = null; } else { $user = $repository->getUser(5); if (is_null($user)) { $result = null; } else { $result = $user->name; } }
    stdClass

    stdClass - это простой универсальный "пустой класс", который используется при преобразовании объектов других типов
    Объекты и ресурсы, которые хранятся в readonly-свойствах, по-прежнему получится изменить внутри:

    class Test { public function __construct(public readonly object $obj) {} } $test = new Test(new stdClass()); $test1 = new stdClass(); // Правильное внутреннее изменение $test->obj->foo = 1; var_dump($test);
    Источники
    Последнее изменение: 11.11.2024 11:25


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ