При необходимости использовать (в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 13, 2016 г.
PHP обладает целым арсеналом работы со строками. Сделать буквы заглавными или наоборот перевести в строчные - нет ничего проще.
Базовый набор функций для работы со строками содержит такие функции как:
string strtolower ( string $string );
- ...
Читать
Ноябрь 13, 2015 г.
PHP не имеет каких то специальных средств для определения ip адреса. Эту информацию ему поставляет веб-сервер в виде переменных окружения.
Используя ...
Читать
Август 27, 2018 г.
У instagram есть API, который устареет до конца 2018 года. Всех пересаживают на новую платформу - Instagram Graph API.
Регистрация приложения на этой ...
Читать
Февраль 27, 2019 г.
Это частая задача возникает при чтении логов, пользовательских данных и .т.п. PHP даёт пару отличных инструментов, для её решения.
Функция strtotime()
Эта функция с довольно сложным функционалом, пытается определить не только формат пользовательского ...
Читать