2

除了视图文件的位置之外,使用之间有什么区别(我在视图文件中使用这些调用来处理多个视图文件中使用的小型 HTML 代码)

echo $this->render('some_view_file', false)echo $this->element('some_view_file')

我已经使用了$this->element()一段时间,因为我读过的所有教程和指南都使用这种方法,但是我的元素文件夹对于不同的控制器有太多的文件。我最近发现我可以使用$this->render()并将视图文件保存在它们各自的文件夹中app/view/controller_name,这使得文件组织更容易和更清晰。

4

1 回答 1

9

$this->渲染()

$this->render()是您的控制器的代码。它告诉您的控制器操作要渲染哪个文件。默认情况下,您不需要使用它 - 如果您正确命名视图文件并将它们放在正确的文件夹中,它们将自动呈现。(在某些情况下您会使用它,但是 - 它并不适用于所有操作)

$this->元素()

$this->element()是您的视图中的代码。它用于加载您希望能够在视图中的多个位置或多个视图中使用的小段代码。

根据 CakePHP 的书,“元素”是:

更小的、可重用的视图代码。元素通常在视图内部呈现。

所以你应该使用视图,而不是元素作为你的主要“页面”文件,并且在你的视图中,$this->element()用来拉入可重用的代码块。

于 2013-02-18T16:22:43.837 回答