2010-10-20 7 views
4

alt textEOD ne se termine pas?

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




?> 

Répondre

12

Le NEM; doit être au début de la ligne .. pas d'espace blanc ou quoi que ce soit avant d'

Citation du manuel:

Avertissement
Il est très important de noter que la ligne à la fermeture L'identificateur ne doit pas contenir d'autres caractères , sauf éventuellement un point-virgule (;). Cela signifie en particulier que l'identificateur ne doit pas être indenté, et il ne peut y avoir aucun espaces ou onglets avant ou après le point-virgule . Il est également important de réaliser que le premier caractère avant l'identifiant de fermeture doit être un retour à la ligne tel que défini par le système d'exploitation local . Ceci est sur les systèmes UNIX , y compris Mac OS X. Le délimiteur de fermeture (éventuellement suivi de par un point-virgule) doit également être suivi de par une nouvelle ligne.

Si cette règle est brisée et la fermeture identifiant n'est pas « propre », il ne sera pas être considéré comme un identifiant de fermeture, et PHP continuera à la recherche d'un. Si un identificateur de fermeture correct n'est pas trouvé avant la fin du fichier actuel, une erreur d'analyse se traduira par la dernière ligne .

+0

C'est tout :) +1 – Otar

4

Vous ne devez pas indenter le marqueur hérédoc, il n'est pas reconnu avec les espaces ou les onglets principaux.

Questions connexes