Как известно, в JS существует конструкция with (ныне помеченная как устаревшая). Она позволяет использовать в качестве области видимости для переменных произвольный объект.
Совершенно быдлокодерский пример:
with(element.style) {
position = 'relative'
top = left = '5px'
}
Я задался вопросом, как сделать подобное в PHP? Дело в том, что приходится обрабатывать огромный многомерный массив, приходящий из "черного ящика" и писать постоянно
$template['part1']['value1'] = convertDate( $template['part1']['value1']);
$template['part1']['value2'] = convertPrice( $template['part1']['value2']);
...
$template['part1']['XXX']['valueN'] = convertFooToBar( $template['part1']['XXX']['valueN']);
утомляет неимоверно.
Хочется чего-нибудь более изящного (как это было бы в ЯП моей мечты) :
$template['part1'] = use ($template['part1'] as $part) {
$part['v1'] = doSomething( $part['v1']);
}
Или какой-нибудь подобный сахар.
Как сделать подобное в PHP?
P.S. У меня есть решение, но мне оно кажется неизящным. Нужна помощь обсчественности.
P.P.S. И, да, хотелось бы обойтись без классов и чтобы код работал в PHP7 ;)