Symfony:Action + partial和Component之间的区别

zii*_*web 5 symfony1

为什么我应该使用一个组件而不是一个渲染部分的动作?

如果动作可以渲染部分,何时更好地使用组件?

给我一些关于它的信息..

哈维

mat*_*tei 7

如果要在站点的不同部分中包含某种块(例如,"前10个销售"或类似的东西),则需要使用组件 - 这需要一些控制器代码进行渲染.您可以使用在组件的另一个操作/部分/另一个组件的模板中包含组件的输出

include_component($module_name, $component_name, array('var1' => $var1));
一个动作应该是由浏览器直接调用,所以你不能包括它在另一个模板输出(没有某种形式的黑客)认为成分为HTML的可重复使用的模块,可以随时随地包含的,VS是在行动整个页面呈现并发送到浏览器

  • 删除组件并不是一个好的想法,因为它们是动作的轻量级版本(它们不通过路由系统,过滤器等,因此它们在工作中更有效率) (2认同)

kct*_*ang 5

partial是一个'模板',可以在任何视图页面中重复使用.它简单快速.所有$ data必须作为参数传递给partial.如果可能的话,应该首选imo.

组件就像一个"具有自己动作的模板",可以在任何视图页面中重复使用.更强大,但与部分相比更慢.如果你有需要业务逻辑的部分(即动作/控制器),请使用

http://www.symfony-project.org/book/1_0/07-Inside-the-View-Layer#chapter_07_code_fragments