2013-10-16 82 views
1

如何在PHP中顯示另一個班級的班級?如何在PHP中顯示另一個班的班級

class Layout { 
     public $var; 

     public function __construct() { 
      $this->var = 'test'; 
     } 

     public function __toString() { 
      return $this->var; 
     } 
} 

class Template { 
     private $var_layout; 

     public function __construct() { 
      $obj = new Layout; 
      $this->var_layout = $obj; 
     } 

     public function __toString() { 
      return $this->var_layout; 
     } 
} 

$template = new Template(); 

echo($template); 

錯誤消息:方法模板:: __ toString()方法必須在Template類返回一個字符串值

請幫幫忙,非常感謝你..

回答

3

return $this->var_layout;不返回一個字符串,它返回一個對象。通過明確調用該對象的__toString()方法使其返回一個字符串。

+1

確實。無論是'$ this-> var_layout - > __ toString();'還是'return(string)$ this-> var_layout;'也可以工作(如果它不是一個對象/沒有'__toString )'方法 – Wrikken

+0

這些類寫得不好或者正常使用(string)$ this-> var .......? –

相關問題