【发布时间】:2017-10-23 00:13:54
【问题描述】:
Partial 和 Slot 这两个概念对我来说似乎相同。这两个功能都将模板中的占位符替换为实际标记。
什么时候应该使用Partial,什么时候应该使用Slot?
【问题讨论】:
Partial 和 Slot 这两个概念对我来说似乎相同。这两个功能都将模板中的占位符替换为实际标记。
什么时候应该使用Partial,什么时候应该使用Slot?
【问题讨论】:
slots 和 partials 的主要区别在于给定 slot 的渲染驻留在特定模板中。相反,部分只是将一个模板包含到另一个模板中。
“基本上,插槽是一个占位符,您可以将其放入任何视图元素中(在布局、模板或部分中)。填充此占位符就像设置一个变量. 填充代码全局存储在响应中,因此您可以在任何地方定义它(在布局中,模板中或部分中)。只需确保在包含它之前定义一个插槽,并记住布局是在模板(这是装饰过程),在模板中调用时会执行部分。”
使用方法示例如下:
我希望能澄清一点。
【讨论】:
部分来自文件:
include_partial('thing', $params) 将包含 _thing.php 和 $params 在它的范围内。
插槽不是文件,而是在模板/控制器中的其他位置设置:
slot('title', 'Home Page');echo '<title>'.slot('title').'</title>'
【讨论】:
您只需要知道 Symfony 备忘单View. Partials, components, slots and component slots(PDF,45 KB)。
【讨论】:
您可以将插槽视为 OO 方法定义。您的布局定义了插槽。模板扩展了布局并填充了这些槽(通过覆盖方法)。您还可以为插槽设置默认内容,该内容在未被覆盖时显示。
另一方面,分音就像作曲。它们是模板可以访问的可重用组件。它们大致相当于一个简单的include 语句,但您传入它使用的变量。
这个页面在解释概念方面做得很好:http://www.symfony-project.org/book/1_2/07-Inside-the-View-Layer
【讨论】: