2015-06-27 4 views
-1

Я читаю < < Практические php и mysql создают восемь динамических веб-приложений >> В приложении A - дизайн веб-сайта, есть два файла - header.php и footer.php.
Это файл header.php.Для которых <html> тег: тег</html> в footer.php закрыт?

<?php 
    require("config.php"); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<head> 
    <title><?php echo $config_sitename; ?></title> 
    <link href="stylesheet.css" rel="stylesheet"> 
</head> 
<body> 
    <div id="header"> 
    <h1><?php echo $config_sitename; ?></h1> 
    </div> 
    <div id="menu"> 
     <a href="<?php echo $config_basedir; ?>">Home</a> 
     &bull; 
     <a href="<?php echo $config_basedir; ?>about.php">About</a> 
     &bull; 
     <a href="<?php echo $config_basedir; ?>faq.php">FAQ</a> 
     &bull; 
     <a href="<?php echo $config_basedir; ?>tech.php">Technical Details</a> 
    </div> 
    <div id="container"> 
     <div id="bar"> 
      <?php 

       require("bar.php"); 
      ?> 
     </div> 

     <div id="main"> 

Это файл footer.php.

</div>  
</div>  
</body>  
</html> 

У меня есть два вопроса.
1. почему тег в header.php не замыкаться, такие как

<div id="main"> don't close 
<div id="container"> don't close 
<body> tag don't close 

Все они закрыты в footer.php, если header.php является долгим и сложным, трудно напишите файл footer.php, чтобы закрыть все теги в header.php.

2. В footer.php есть тег </html>, но нет тега <html> в header.php, в чем дело?

+0

Ничего, кроме файла 'header.php' отсутствует тег открытия' '. Добро пожаловать в мир «кода других людей», он заражен плохо написанным кодом, плохой логикой приложения и опечатками, которые никто больше не взял. – Fluffeh

ответ

2

Я не читал эту книгу, но, как правило, если страница разбита на 3 части:

header.php
content.php
footer.php

Тогда вы можете себе представить следующее блок HTML код:

<!DOCTYPE html> 
<html> 
<body> 
    <div class="main"> 
     <!--other content--> 
    </div> 
</body> 
</html> 

Будучи таким же, как это:

<!--header.php--> 
<!DOCTYPE html> 
<html> 
<body> 
    <div class="main"> 
<!--header.php end--> 

<!--content.php--> 
     <!--other content--> 
<!--content.php end--> 

<!--footer.php--> 
    </div> 
</body> 
</html> 
<!--footer.php end--> 

Так что для вашего первого вопроса, то эти теги не могут быть закрыты в header.php сам по себе, потому что не допустит содержание от content.php быть вставлен в.main контейнера.

Для вашего второго вопроса, вероятно, был отключен тег <html>.

Хорошей практикой является включение комментария рядом с закрывающим тегом, чтобы сделать все более четким. Например, ваш footer.php может выглядеть следующим образом:

</div><!--#main--> 
</div><!--#container--> 
</body> 
</html> 

Это помешало бы много неосторожных ошибок в случае тег был закрыт раньше, чем предполагалось; или если закрывающий тег был пропущен, вы можете легко его обнаружить.

Смежные вопросы