文件循环和视图头控制器中的逻辑?

时间:2012-12-04 11:28:49

标签: php oop model-view-controller autoload

我在header.php文件中有以下内容,该文件包含在我的所有视图中:

$dh = opendir(Vs.get_class($this).'/js') ;
while($script = readdir($dh)) {
    if(!is_dir($script))
    {
        echo '<script type="text/javascript" src="js/'.$script.'"></script>' ;
    }
}

$dh = opendir(Vs.get_class($this).'/css') ;
while($css = readdir($dh)) {
    if(!is_dir($css))
    {
        echo '<link type="text/css" href="css/'.$css.'" rel="stylesheet"/>' ;
    }
}

它的目的是为特定视图(与控制器同名,因此get_class)自动加载所有css和JS文件。

这应该是相关控制器的一部分还是我如何做得好?

2 个答案:

答案 0 :(得分:2)

老兄只是使用Glob php功能。然后包括那些..它将完美地工作。你还需要传递绝对路径

foreach (glob("*.css") as $filename) 
{ 
   echo '<link type="text/css" href="css/'.$filename.'" rel="stylesheet"/>' ; 
}

答案 1 :(得分:1)

视图中使用的脚本和内容属于视图。控制器与它无关。

观点不需要愚蠢。事实上,他们不应该。他们需要关心与准备和返回响应有关的所有事情。这甚至包括设置HTTP标头和可能的缓存逻辑。包括必要的CSS和JS脚本也是其工作的一部分。