Есть ли какой-либо работы или другой разницы между следующие два случая доступа к глобальной переменной в затворе:PHP - Разница между 'use()' или 'global' для доступа к глобальной переменной в закрытии?
Случай 1:
$closure = function() use ($global_variable) {
// Use $global_variable to do something.
}
Случай 2:
$closure = function() {
global $global_variable;
// Use $global_variable to do something.
}
Хотя это верно, во многих случаях вы хотите передать экземпляр объекта в закрытие. Объекты передаются по ссылке, и любые изменения состояния объекта ** после ** определения закрытия будут доступны в закрытии. – Benni