При необходимости использовать (в 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, 2015 г.
Рассмотрим несколько способов сохранения данных в файл.
Функция file_put_contents() для записи в файл
Функция появилась в 5й версии PHP. Это самый простой, наверное, способ записать скалярные данные (строку или текст) в файл.
[crayon-69b83e6b5c35b276600020/] ...
Читать
Апрель 11, 2013 г.
Да, представьте себе, у этой "пижни" есть свой API! Раньше им пользоваться было намного проще, не было этих наворотов с OAuth. Не смотря на мое личное ...
Читать
Ноябрь 6, 2012 г.
Есть разные пути, простые и сложные (вплоть до написания своей PHP библиотеки для конвертации HTML в PDF). Но мы трудным путем не пойдем, а воспользуемся готовым сервером, выполняющим данный экспорт. Для самых ленивых приведу пример его использования ...
Читать