首頁  >  問答  >  主體

如何正確使用PHP模板

我是 PHP 新手,目前正在閱讀《PHP 絕對初學者》一書。書中目前正在教授有關模板化和使用 StdClass() 物件以避免命名衝突的內容。

我有一個名為 page.php 的範本檔案和一個名為 index.php 的主頁檔案。

我的page.php程式碼

<?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>";

我的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;

我收到的錯誤是

警告:第 5 行 C:\xampp\htdocs\ch2\templates\page.php 中未定義變數 $title

#警告:第 9 行 C:\xampp\htdocs\ch2\templates\page.php 中未定義變數 $content

#我不明白這一點,因為這正是本書所教的內容,如果有任何幫助,我們將不勝感激,如果有更好的方法來使用模板,請記住我是初學者,所以請保持簡單!

P粉738346380P粉738346380219 天前258

全部回覆(1)我來回復

  • 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; 我已修正。

    回覆
    0
  • 取消回覆