Анонимная функция внутри массива PHP?

Ниже код, где метод nav() возвращает отработанные данные.
Проблема заключается в анонимной функции. Мне необходимо именно в таком порядке что бы отработал скрипт и вернул данные, как и в js. Где ошибки в коде или это не возможно?

Ошибка:
Catchable fatal error: Object of class Closure could not be converted to string in


<?
class header {

    public function nav (){

        return view::tpl('header', array (
            'navigation' => function (){

                $sql = sql::getInstance();

                // Получаем список модулей
                $sql->where('nav', 'head');
                $modules = $sql->get('modules', null, array('name', 'module', 'nav'));

                foreach ($modules as $module){
                    view::tpl('header-nav',array(
                        'name'    => $module['name'],
                        'link'    => $module['module'],
                        'class'   => router::$module === $module['module'] ? 'active' : ''
                    ));
                }

            }
        ));
    }
}
  • Вопрос задан
  • 2985 просмотров
Решения вопроса 1
@Arik
<?php
echo is_callable($navigation) ? call_user_func($navigation) : $navigation;
?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы