2015-06-01 28 views
1

我試圖呈現我的意見與功能。ob_start()之後包含,什麼也沒有發生

但是,如果開始ob_clean(),所有代碼後都不會影響某些內容。如果我在ob_clean()之前加入了我看到的模板。

public function render($template, $data = array()) 
{ 
    if (!empty($data)) 
    { 
     extract($data); 
    } 
    $templatePath = TEMPLATE_DIR . $template . '.tpl'; 
    ob_start(); 
    if (!is_file($templatePath)) 
    { 
     return 'No template found!'; 
    } 
    include $templatePath; 
    $content = ob_get_contents(); 
    ob_end_clean(); 

    return $content; 
} 
+0

不回答你的問題,但你可以使用[ob_get_clean()](https://php.net/manual/en/function.ob-get-clean.php)你不需要打電話'ob_get_contents()'和'ob_end_clean()'分開。 – AlliterativeAlice

+0

哦真的嗎?好吧,這並不能解決我的問題。但是很高興知道:)謝謝 – R3Tech

+1

我唯一能想到的就是確保你不會忘記回顯'render()'函數的結果。 – AlliterativeAlice

回答

1

嘗試用echo $content更換return $content

+0

我需要再次表示感謝。完美的傢伙:) – R3Tech

相關問題