При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно.
Пример ситуации:
|
|
$A = function() { ... }; $B = function() { ... $localVar = $A(); }; |
Для того чтобы в пространство имен замыкания B попала первая анонимная функция, нужно либо передать её как параметр, либо использовать директиву use:
|
|
$A = function() { ... }; $B = function() use (&$A) { ... $localVar = $A(); }; |
Если требуется рекурсивный вызов анонимной функции, то точно также используется директива use с именем этой функции:
|
|
$B = function() use (&$B) { ... $localVar = $B(); }; |
Данная запись опубликована в 14.12.2020 17:25 и размещена в рубрике PHP.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 26, 2021 г.
На замену realpath, который работает только с реально существующими файлами и папками UNIX, а также не работающий для ссылок, я написал функцию получения канонического пути.
В документации встречается функция eio_realpath, которая требует подключения ...
Читать
Май 12, 2013 г.
Самое не приятное, с чем можно встретиться на многих сайтах - это регистрация учетной записи. Неприятное ощущение усиливается ещё и от контраста - везде ...
Читать
Август 12, 2017 г.
.. то скорее всего, вы ошибаетесь. Рассмотрим следующий пример XML.
В документе example.xml содержится запись о валюте и информация о категории товара. Обе записи содержат аттрибуты.
[crayon-6a57202f1d6f5715197889/]
Выполним чтение и вывод информации ...
Читать
Декабрь 19, 2012 г.
Простому пользователю от пароля хочется двух вещей - надежности и легкости запоминания.
В случае произвольно создаваемых паролей, желаемая надежность достигается очень легко (увеличили длину генерируемого пароля или расширили набор символов, из которого ...
Читать