Задать вопрос
@Snewer

Конструкция «use» дружит только с анонимными функциями?

Здравствуйте!

Конструкция "use" дружит только с анонимными функциями?

т. е. работает отлично:
$function = function($a, $b) use ($c, $d){ /* ... */ }


если такое повесить на не анонимную функцию ничего не работает, и использую, соответственно globals. Может я что-то упустил? Спасибо!
  • Вопрос задан
  • 2457 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
fornit1917
@fornit1917
> Конструкция "use" дружит только с анонимными функциями?
Конечно, это же замыкание.
Ответ написан
Комментировать
disc
@disc
веб-разработчик
То что вы делаете - называет процедурный подход. Советую вам попробовать использовать ООП тогда таких вопросов не возникнет.
habrahabr.ru/post/23619 - статья в тему
Ответ написан
Комментировать
zBit
@zBit
Full stack web developer
если такое повесить на не анонимную функцию ничего не работает

Только такой вариант:
$functionName = function($a, $b) use ($c, $d) {}
$functionName($a, $b);
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
коль уж хотите использовать процедурный подход - потрудитесь передавать все аргументы необходимые функции. Глобальные состояния - зло.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы