При необходимости использовать (в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 12, 2017 г.
Если при отправке запроса через CURL по https, вы получаете следующую ошибку:
[crayon-6a79978ebbaad966571390/]
То можно отключить соответствующие проверки, выключив в опциях следующие флаги -SSL_VERIFYHOST, SSL_VERIFYPEER.
[crayon-6a79978ebbab7100836282/] ...
Читать
Август 27, 2018 г.
У instagram есть API, который устареет до конца 2018 года. Всех пересаживают на новую платформу - Instagram Graph API.
Регистрация приложения на этой ...
Читать
Ноябрь 12, 2015 г.
Рассмотрим несколько способов сохранения данных в файл.
Функция file_put_contents() для записи в файл
Функция появилась в 5й версии PHP. Это самый простой, наверное, способ записать скалярные данные (строку или текст) в файл.
[crayon-6a79978ebc06e358623982/] ...
Читать
Декабрь 13, 2014 г.
Объект класса "__PHP_Incomplete_Class" с дополнительным свойством __PHP_Incomplete_Class_Name => 'имя класса' появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении ...
Читать