Symfony 2: отображение таблиц?

Я хотел бы отобразить несколько строк данных из таблицы базы данных. Я очень хочу получить несколько советов о том, как лучше всего этого добиться.

Позвольте мне объяснить, как я это делаю сейчас и почему возник этот вопрос: в настоящее время у меня есть схема, по которой контроллер загружает данные в массив, а затем передает их шаблону ветки. Затем шаблон ветки вызывает «служебный» контроллер для отображения массива. Контроллер утилиты заботится о форматировании полей и т. д. Так, например:

Контроллер:

$cols = array('1','2','3');
$rows = array();

for (...) {
    $rows[] = ...
}

return array(
    'cols'    => $cols,
    'rows'    => $rows,
);

Ветка:

{% render 'Bundle:Table:print' with { 'cols': cols, 'rows': rows } %}

Однако, когда я попытался перейти на Symfony 2.2, я столкнулся с несколькими проблемами из-за того, как внутренние вызовы теперь обрабатываются в версии 2.2. См. http://symfony.com/blog/new-in-symfony-2-2-the-new-fragment-sub-framework

Похоже, что массивы преобразуются в параметры URL, а затем снова анализируются (используя parse_str). Это приводит к двум различным проблемам:

  1. Для больших таблиц PHP был ограничен 1000 элементами в массивах. (Да, я могу увеличить лимит, но есть ли в этом смысл?)
  2. Типы DateTime, казалось, потеряли свою типизацию и воспринимались как просто массивы.

Итак, применим ли мой первоначальный подход в будущем? Если нет, то какой подход следует использовать?

Спасибо.


person ritter    schedule 09.04.2013    source источник


Ответы (1)


Третья сторона предложила: «Как насчет написания расширения Twig вместо использования контроллера Symfony?»

http://symfony.com/doc/current/cookbook/templating/twig_extension.html

person ritter    schedule 11.04.2013