2010-10-20 63 views
4

alt textEOD未終止?

<?php 

// Page class 

class Page { 

// Declare a class member variable 
var $page; 
var $title; 
var $year; 
var $copyright; 

// The Constructor function 
function Page($title, $year, $copyright){ 
// Assign values to member variables 
$this->page = ''; 
$this->title = $title; 
$this->year = $year; 
$this->copyright = $copyright; 

// Call the addHeader() method 
$this->addHeader(); 
} 

// Generates the top of the page 
function addHeader(){ 
$this->page .= <<<EOD 
       <html> 
       <head> 
       <title>$this->title</title> 
       </head> 
       <body> 
       <h1 align="center">$this->title</h1> 
       </body> 
       EOD; 
    } 
} 




?> 

回答

12

排爆;必須在該行..沒有空格或任何的開始之前

從手動引用:

警告
這是非常重要的要注意 指出,結束 行標識符不能包含其他 字符,除了可能的 分號(;)。這意味着特別是 標識符可能不是 縮進,並且在 分號之前或之後可能沒有任何 空格或製表符。 也意識到在結束標識符前的第一個字符 必須是 一個由本地 操作系統定義的換行符。這是\ n在UNIX 系統上,包括Mac OS X. 結束分隔符(可能在分號後跟着 )也必須跟着 換行。

如果這個規則被打破,截止 標識符不「乾淨」的,它不會 被視爲結束標識符, ,PHP將繼續尋找下去。 如果在當前 文件結束之前找到正確的結束標識符不是 ,則會在 最後一行發生解析錯誤。

+0

就是這樣:) +1 – Otar 2010-10-20 15:37:10

4

您不應該縮進heredoc標記,它不會被前導空格或製表符識別。