При необходимости использовать (в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 19, 2021 г.
Делюсь примером кода, который отправляет PUT запрос через CURL.
Все работает точно также как для POST запроса, с небольшими отличиями в настройках:
[crayon-6997ff4f3415d909471362/]
Надеюсь, этот пример сэкономит вам время :)
Читать
Август 27, 2020 г.
Для логгирования иногда важно не только записать какое то сообщение, но также указать - где именно произошло событие в скрипте. Давайте посмотрим, как можно получить номер строки и имя файла в PHP.
Данная информация может быть предоставлена php ...
Читать
Январь 26, 2016 г.
В версии PHP 5 мы получили возможность использовать конструктор класса, специальную функцию, объявляемую в классе, которая служит для инициализации экземпляра объекта. К сожалению, конструкторы, как и остальные методы класса в PHP, не могут быть "перегружены". ...
Читать
Январь 29, 2021 г.
Эта статья о некоторых задачах, возникающих при сохранении файла на сервере, при получении его от пользователя через форму (<input type="file" />).
Определимся с требованиями. Технически, решение нужно в виде функции, которая принимает набор ...
Читать