PHP задачи с собеседований
3.03K subscribers
495 photos
6 videos
11 files
359 links
Задачи, тесты и теоретические вопросы по PHP.

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
Download Telegram
👆Объяснение к предыдущему вопросу

👨🏻‍💻 Этот код выведет ошибку о том, что в метод getPHPVersion не передали достаточное кол-во аргументов, но если переместить PHP_VERSION в последнюю пару скобок (первая пара - это __invoke, вторая - анонимная ф-ция, возвращаемая из __invoke, и уже третья - это вызов метода класса как анонимной ф-ции), то все будет работать.

По поводу синтаксиса, когда массив превращается в callable, можно почитать в документации https://www.php.net/manual/ru/language.types.callable.php.

PHP задачи с собеседований
🔥14👍5
👆Объяснение к предыдущему вопросу

👨🏻‍💻 Причина, по которой типы свойств являются инвариантными, заключается в том, что их можно читать и записывать. Изменение от int к ?int подразумевает, что чтение из свойства теперь может также возвращать NULL в дополнение к целым числам.

Изменение с ?int на int подразумевает, что больше невозможно записать значение NULL для свойства. Таким образом, ни контрвариантность, ни ковариантность не применимы к типам собственности.

PHP задачи с собеседований
👍14
👆Объяснение к предыдущему вопросу

👨🏻‍💻 Closure::bind — дублирует замыкание с указанием конкретного связанного объекта и области видимости класса. Первым параметром мы передаем анонимную функцию которая в дальнейшем будет привязана к объекту который мы передаем третьим параметром.

PHP задачи с собеседований