为什么当 HTML 和 PHP 组合在一起时,"View Source"中显示的 HTML 没有正确嵌套?



我有两个PHP文件,它们在基于mvc的应用程序中用作视图。它们都主要包含HTML,但也包含控制器发送给它们的一些变量。

maintemplate.php:

<!DOCTYPE html>
<html>
    <head>
        <title><?php echo $viewModel->get('pageTitle'); ?></title>
    </head>
    <body>
        <?php require($this->viewFile); //index.php ?>
    </body>
</html>

index . php:

<ul>
    <li><a href="fanfics/list">fanfics list</a></li>
</ul>

问题是,在"查看源代码"中显示的代码(我检查了Chrome, IE和FF)没有嵌套,因为我希望它是。第一行是正确嵌套的——在包含标记之后有四个空格,但其他行是嵌套的,好像第一行之前根本没有空格。

查看源代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Fanfiction application</title>
    </head>
    <body>
        <ul> <!-- 4 spaces after the body -->
    <li><a href="fanfic/list">fanfics list</a></li> <!-- No spaces after the body -->
</ul>    
    </body>
</html>

我试着在Google和StackOverflow上搜索坏嵌套视图源的各种变体,但结果似乎都没有回答我的问题。

我怎么解决这个问题呢?谢谢你。

正如Mario在评论中解释的那样…

maintemplate.php:

<!DOCTYPE html>
<html>
    <head>
        <title><?php echo $viewModel->get('pageTitle'); ?></title>
    </head>
    <body>
<?php require($this->viewFile); //index.php ?>
    </body>
</html>

index . php:

        <ul>
            <li><a href="fanfics/list">fanfics list</a></li>
        </ul>

然后你的视图源将显示为你想要的。

查看您的index.php版本,第2行缩进了4个空格,这就是视图源中出现的内容。查看第3行,缩进0个空格,如视图源中所示。这在新版本中通过缩进它们所需的空格量来纠正。

对于第1行,在您的index.php中,它没有缩进任何空格,因此它恰好出现在maintemplate.php中require部分开始的地方(已经缩进了8个空格)

要求一个文件不会以任何方式改变缩进,它只是将你在文件中指定的内容组合在一起。

在上面的版本中,index.php中的所有行都是手动缩进的,以匹配它们在源视图中的位置,您只需要记住不要缩进所需行的行,因为任何缩进都会添加到index.php

第一行的缩进中。

相关内容

  • 没有找到相关文章

最新更新