我正在学习使用Kohana PHP框架中的"视图中的视图",以便编写更多的模块化代码。下面的代码允许我将数据依赖项传递到局部视图,然后我可以在循环中呈现它们。
foreach ($datas as $data) {
$view = new View('partial');
$view->set('data', $data);
$view->render(TRUE);
}
我的问题是如何包含JS和CSS依赖项?理想情况下,我想把它们放在"部分"视图文件中,即partial.php
partial.php
<link> ... </link>
<script> ... </script>
<div> ... </div>
但这很糟糕,因为如果我在循环中渲染局部视图,它们会被多次包含。有没有一种方法可以使用Kohana助手函数来实现这一点,它允许我将JS和CSS附加到页面底部,并检查是否存在重复,这样如果文件已经存在,它就不会再包含它了。
我之所以想把它放在partial.php中,是为了让其他使用partial视图的开发人员能够轻松地重用代码,而无需查找JS和CSS依赖关系。
在我看来,这不是在代码中呈现或链接样式表的最佳实践。您可以创建一个名为extra_scripts
的数组,将依赖的css文件放入其中,并在必要时进行渲染。
在控制器的after
函数中检查此数组