私が書いている基本的なCMS内に関数があります:
protected function loadContent(){
//Use the pages table
$this->_dBase->table = 'pages';
//Select Content
$query = $this->_dBase->select('page_id, title, content', array('name' => get_class($this)));
$html = $query[0]['content'];
var_dump($html);
return $html;
}
私のビューメソッドによって呼び出されます:
public function view(){
$this->loadHeader();
$this->loadNav();
//Load possible methods
//If false, loads main content
if(!$this->loadMethod()){
echo $this->loadContent();
}
$this->loadFooter();
}
var_dump は次を示します。
string '<div class="jumbotron">
<h1>LiteCMS <small> a basic OOP PHP CMS</small></h1>
<p>Manage the content of your Website with ease, using Twitter Bootstrap!</p>
<p>
<a class="btn btn-lg btn-primary" href="/about">Learn More »</a>
</p>
</div>' (length=301)
ただし、文字列を view() に呼び出すと、Null になります。「test」の文字列を返そうとすることでこれをテストしましたが、それでも Null が返されます。少しばかげているように感じます。返された文字列値を印刷するためのテスト ページでこれを再現できませんでした。ここで何が欠けていますか?
ありがとう!
更新: 継承されたクラスでエラーが発生していました。親メソッド loadContent を呼び出したときに、子クラス loadContent の範囲外でした。ダープ。