$keys = ['online', 'count', 'status'];
$filter = function ($key) use ($keys){
return in_array($key, $keys);
}
foreach ($online as $key => $value) {
$online[$key] = array_filter($value, $filter, ARRAY_FILTER_USE_KEY);
}
$online = array_merge(array_fill_keys($keys, null), $online);
$loader = new Twig_Loader_Array([
'index.html' => phrase('Hello {{ name }}!', 123),
'page.html' => phrase('Page {{ name }}! {{ content }}', 123),
]);
$twig = new Twig_Environment($loader);
echo $twig->render('index.html', ['name' => 'Fabien']);
когда эта "фича" полезнаэто не фича, это ошибка и если ты думаешь что оно свойственно новичкам, то разочарую - вордпресс, битрикс, вебасист и т.д. зачастую этим грешат.
акие еще данные поступившие извне?те, что не передаются приватным методам класса другими его методами.
Добавить в метод проверку контекста? Это поняли даже разрабы PHP, а вы всё сопротивляетесь.self и $this имеют немного отличий.