👆Объяснение к предыдущему вопросу
👨🏻💻 Этот код выведет ошибку о том, что в метод
По поводу синтаксиса, когда массив превращается в callable, можно почитать в документации https://www.php.net/manual/ru/language.types.callable.php.
PHP задачи с собеседований
👨🏻💻 Этот код выведет ошибку о том, что в метод
getPHPVersion
не передали достаточное кол-во аргументов, но если переместить PHP_VERSION
в последнюю пару скобок (первая пара - это __invoke
, вторая - анонимная ф-ция, возвращаемая из __invoke
, и уже третья - это вызов метода класса как анонимной ф-ции), то все будет работать. По поводу синтаксиса, когда массив превращается в callable, можно почитать в документации https://www.php.net/manual/ru/language.types.callable.php.
PHP задачи с собеседований
🔥14👍5
Отработает ли данный код?
Anonymous Quiz
31%
Отработает
6%
Пойду проверю
58%
Не отработает
5%
Дайте объяснение
👆Объяснение к предыдущему вопросу
👨🏻💻 Причина, по которой типы свойств являются инвариантными, заключается в том, что их можно читать и записывать. Изменение от int к ?int подразумевает, что чтение из свойства теперь может также возвращать NULL в дополнение к целым числам.
Изменение с ?int на int подразумевает, что больше невозможно записать значение NULL для свойства. Таким образом, ни контрвариантность, ни ковариантность не применимы к типам собственности.
PHP задачи с собеседований
👨🏻💻 Причина, по которой типы свойств являются инвариантными, заключается в том, что их можно читать и записывать. Изменение от int к ?int подразумевает, что чтение из свойства теперь может также возвращать NULL в дополнение к целым числам.
Изменение с ?int на int подразумевает, что больше невозможно записать значение NULL для свойства. Таким образом, ни контрвариантность, ни ковариантность не применимы к типам собственности.
PHP задачи с собеседований
👍14
Что выведет данный код?
Anonymous Quiz
34%
Exception: Cannot get return value of a generator that hasn't returned
40%
php
17%
Syntax error on line 14
9%
<пустую строку>
👍2
Что выведет код?
Anonymous Quiz
26%
**Call to undefined function foo()
35%
foo**Call to undefined function bar()
14%
foobar
25%
foo**bar
👍8👎1
Что выведет код?
Anonymous Quiz
19%
Warning: Cannot bind an instance to a static closure
15%
Uncaught Error: Typed property class@anonymous::$bestLang must not be accessed before initialization
29%
string(3) "php"
25%
object(Closure)#3 (1) {...}
12%
Uncaught Error: Function name must be a string
👎26👍1
👆Объяснение к предыдущему вопросу
👨🏻💻
PHP задачи с собеседований
👨🏻💻
Closure::bind
— дублирует замыкание с указанием конкретного связанного объекта и области видимости класса. Первым параметром мы передаем анонимную функцию которая в дальнейшем будет привязана к объекту который мы передаем третьим параметром.PHP задачи с собеседований
Что нужно сделать, чтобы код заработал и вывел 1256?
Anonymous Quiz
15%
убрать NoRewindIterator
12%
убрать limit:
15%
заменить limit: на 1,
26%
добавить () после замыкания
7%
убрать declare(strict_types=1);
25%
заменить тип Generator на Iterator
Что выведет код? (php >= 7.4)
Anonymous Quiz
20%
42
9%
24
27%
Parse error: syntax error, unexpected '...' (T_ELLIPSIS)
44%
Fatal error: Uncaught Error: Cannot unpack Traversable with string keys
👎19👍3
Что выведет код?
Anonymous Quiz
37%
bool(false)
46%
bool(true)
17%
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting variable
👍11👎4🔥2