почему я должен использовать компонент вместо действия, которое представляет частичное?
Если действия могут представить partials, когда лучше использует компоненты?
Дайте мне легкий об этом..
Javi
используются, когда вы хотите включить какой-либо блок в разные части сайта (например, «Топ-10 продаж» или что-то подобное) - для рендеринга которого требуется некоторый код контроллера. Вы включаете вывод компонента в другой шаблон действия / частичного / другого компонента, используя
include_component($module_name, $component_name, array('var1' => $var1));, действие должно вызываться непосредственно браузером, поэтому вы не можете включить его вывод в другой шаблон (без какого-либо взлома ) Думайте о компонентах как о многоразовом блоке HTML, который может быть включен где угодно, в отличие от действий, которые представляют собой всю страницу, отображаемую и отправляемую в браузер
partial - это «шаблон», который можно повторно использовать на любых страницах просмотра. это просто и быстро. все $ data должны быть переданы как параметр в партиал. imo, если возможно, следует предпочесть. Компонент
похож на «шаблон со своим собственным действием», который можно повторно использовать на любых страницах просмотра. мощнее, но медленнее по сравнению с частичным. используйте, если у вас есть партиалы, требующие бизнес-логики (например, действие / контроллер)
http://www.symfony-project.org/book/1_0/07-Inside-the-View-Layer#chapter_07_code_fragments