【发布时间】:2011-03-29 22:23:04
【问题描述】:
我在控制器中有以下代码:
$this->viewdata->scripts = array(
'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',
'jstree/jquery.jstree-1.0-rc2.js',
'jquery.hotkeys-0.8.js',
'tags/index.js'
);
$this->viewdata->styles = array(
'reset.css',
'tags.css'
);
在我看来,我有一个 foreach 来将每个列出的 javascript/css 文件包装到相应的 HTML 标记中。我正在使用主模板/布局方法;我只是在主模板中填充任何/所有字段,最终得到我的网页。所以,我最好将我的 javascript/css 全部设置在控制器中,这样我的 <script>s 和 <link>s 就可以在它们所属的 <head> 中。
但是,最近我突然意识到 javascript 和 css 不属于控制器,因为呈现的视图可能会发生变化,并且可能有非常不同的 javascript/css 要求。
我基本上只想保留一个主模板以实现可维护性,但还要从控制器中删除对 view/javascript/css 的所有引用。有什么可以帮助我做到这一点?
谢谢。
【问题讨论】:
标签: php model-view-controller codeigniter separation-of-concerns