Включить функции PHP

У меня есть файл Php для функций включения и страницы CSS. Я пытаюсь сделать функцию включения для генерации большей части моего HTML. Я просто не могу понять, как получить CSS-файл для включения в PHP-функцию включения, которую я сделал.

<?phpe
    function HTMLStart( $Title)
    {
        echo "<!DOCTYPE html>\n";
        echo "<html>\n";
        echo "<head>\n";
        echo "      <title>".$Title."</title>\n";
        echo "      <link href=\ 'IncLab.css' type=\"text/css\" rel=\"Stylesheet\" />\n";
        echo "</head>\n";
        echo "<body>\n";
    }
?>

У меня проблема с echo линия:

echo "      <link href=\ 'IncLab.css' type=\"text/css\" rel=\"Stylesheet\" />\n";

Я пытался использовать двойные кавычки и получал ошибку, поэтому я пытался использовать одинарные кавычки для "IncLab.css и не получал ошибки. Я ранил, если это правильный способ сделать это.

Кроме того, я включил панель навигации в свой файл включения, но как добавить класс (для CSS), чтобы мои ссылки правильно выстроились.

<?php
    function PageNagivation()
    {
        echo "<!-- Nav of the page --> \n";
        echo "<nav> \n";
        echo       '<div class="nav-item float-left"> <a href="IncLabPage1.php">Page 1</a>';
        echo       '<div class="nav-item end-float"> <a href="IncLabPage2.php">Page 2</a>';
        echo "</nav> \n";
    }
?>

Панель навигации работает и отображается, но не отображается правильно. Проблема, которую я знаю, заключается в <div class.... часть кода. Как бы я заставить его работать. Благодарю.

5 ответов

Для проблемы с кавычками, да, вполне допустимо использовать одинарные кавычки в этой ситуации, для этого они и предназначены. Вы избежали одного из них, что вам не нужно делать:

echo "<link href='IncLab.css' type='text/css' rel='Stylesheet' />\n";

Для добавления класса вы можете просто ввести его в HTML, например:

echo '<div class="nav-item end-float myclass"> <a href="IncLabPage2.php">Page 2</a>';

Или, если он хранится в переменной:

echo '<div class="nav-item end-float '.$myclass.'"> <a href="IncLabPage2.php">Page 2</a>';

Или же

echo '<div class="nav-item end-float $myclass"> <a href="IncLabPage2.php">Page 2</a>';

Изменить цитаты, как это -

echo "      <link href='IncLab.css' type='text/css' rel='Stylesheet' />\n";

Вы должны делать это со всем отображаемым HTML-кодом, чтобы обеспечить чистоту кода и упростить устранение неполадок.

Вместо одного эха для одной строки, почему вы не делаете это?

$sOutput = '<html>
            <head>
                <link href="IncLab.css" type="text/css" rel="Stylesheet">
                <!-- Any HTML you want to echo -->';

echo $sOutput;

Или лучше используйте синтаксис heredoc:

$sOutput = <<<EOT
<html>
<head>
   <link href="IncLab.css" type="text/css" rel="Stylesheet">
   <!-- Any HTML you want to echo -->
EOT;

Просто одиночная кавычка в начале и в конце, и вы можете даже немного отступить... И вы избавитесь от беспокойства, избегая так много кавычек.

Вы можете избежать подобных проблем, правильно используя "шаблонную" часть языка PHP.

<?php
    function HTMLStart( $Title)
    {
?>
        <!DOCTYPE html>
        <html>
        <head>
          <title><?php echo $Title ?></title>
          <link href="IncLab.css" type="text/css" rel="stylesheet"/>
        </head>
        <body>
<?php
    }
?>

Я не рекомендую выводить html с помощью php. Однако в вашем коде вы не можете избежать href=\ '... Просто используйте одинарные кавычки:

echo "      <link href='IncLab.css' type='text/css' rel='Stylesheet' />\n";

Что касается навигации, вы не закрываете свои деления. Должно быть так:

echo "<!-- Nav of the page --> \n";
echo "<nav> \n";
echo       '<div class="nav-item float-left"> <a href="IncLabPage1.php">Page 1</a></div>';
echo       '<div class="nav-item end-float"> <a href="IncLabPage2.php">Page 2</a></div>';
echo "</nav> \n";

Не зная, как вы хотите, чтобы ваша навигация выглядела, и не имея CSS для классов, которые вы вызываете, трудно помочь дальше. Normall, навигация находится в неупорядоченном списке следующим образом:

<ul class="nav">
    <li><a href="IncLabPage1.php">Page 1</a></li>
    <li><a href="IncLabPage2.php">Page 2</a></li>
</ul>

CSS:

ul.nav {
    list-style: none;
}
ul.nav li {
    display: inline-block;
}
Другие вопросы по тегам