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!
你的 page.php 看起来有点奇怪。
return
不是我在打印 html 时使用的东西。另外,您在 php 标记中使用 php 和 html,这是无法工作的。试试这个:你的index.php中不需要
echo $page
,让page.php来做这件事。/编辑:第 9 行也有一个拼写错误:
$pageData->$content;
我已更正。