Heim  >  Fragen und Antworten  >  Hauptteil

So verwenden Sie PHP-Vorlagen richtig

Ich bin PHP-Neuling und lese gerade das Buch „PHP für absolute Anfänger“. Das Buch lehrt derzeit die Erstellung von Vorlagen und die Verwendung von StdClass()-Objekten, um Namenskonflikte zu vermeiden.

Ich habe eine Vorlagendatei namens page.php und eine Homepage-Datei namens index.php.

Mein page.php-Code

<?php
return "<!DOCTYPE html>
<html>
<head>  
<title>$pageData->title</title>
<meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
</head>
<body>
$pageData->$content
</body>
</html>";

mein index.php

<?php
//this correctly outputs any errors 
error_reporting( E_ALL );
ini_set("display_errors", 1);

$pageData = new stdClass();

$pageData->title = "Test title";
$pageData->content = "<h1>Hello World</h1>";
$page = include_once "templates/page.php";
echo $page;

Der Fehler, den ich erhalten habe, ist

Warnung: Undefinierte Variable $title in C:xampphtdocsch2templatespage.php in Zeile 5

Warnung: Undefinierte Variable $content in C:xampphtdocsch2templatespage.php in Zeile 9

Ich verstehe das nicht, da das Buch genau das lehrt. Ich wäre für jede Hilfe sehr dankbar und wenn es eine bessere Möglichkeit gibt, Vorlagen zu verwenden, denken Sie bitte daran, dass ich ein Anfänger bin, also halten Sie es bitte einfach!

P粉738346380P粉738346380268 Tage vor298

Antworte allen(1)Ich werde antworten

  • P粉129168206

    P粉1291682062024-02-18 13:04:26

    你的 page.php 看起来有点奇怪。 return 不是我在打印 html 时使用的东西。另外,您在 php 标记中使用 php 和 html,这是无法工作的。试试这个:

    
    
      
    <?php echo $pageData->title; ?>
    
    
    
    content; ?>
    
    

    你的index.php中不需要echo $page,让page.php来做这件事。

    /编辑:第 9 行也有一个拼写错误:$pageData->$content; 我已更正。

    Antwort
    0
  • StornierenAntwort