При необходимости использовать (в 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, 2015 г.
По идее столько всего понаписано, чего огород то городить? От случая к случаю, конечно, пользуюсь библиотеками PHP. Но вместе с этим, есть объективные ...
Читать
Ноябрь 13, 2015 г.
PHP не имеет каких то специальных средств для определения ip адреса. Эту информацию ему поставляет веб-сервер в виде переменных окружения.
Используя ...
Читать
Август 13, 2013 г.
Обычно задача возникает, когда мы исследуем скриптом html страничку, и нам нужно получить, используя её абсолютный адрес, адреса страниц на которые она ссылается. Для этого к текущему абсолютному адресу страницы, надо "добавлять" адреса других страниц. ...
Читать
Февраль 12, 2017 г.
Если при отправке запроса через CURL по https, вы получаете следующую ошибку:
[crayon-69ec78a290ede795409333/]
То можно отключить соответствующие проверки, выключив в опциях следующие флаги -SSL_VERIFYHOST, SSL_VERIFYPEER.
[crayon-69ec78a290ee4038777152/] ...
Читать