有一個名爲CodeIgniter Library下載,使得這一切很容易。一旦你學會了如何實現它,編碼變得非常簡單。它還允許您更改每個頁面或控制器以具有不同的模板(佈局)。
使用我上面你提到的系統可以做到以下幾點:
<?php
function index() {
$data['some_variable'] = 'some data';
$this->template->write_view('content', 'page/home', $data);
$this->template->render();
}
?>
任何地方,你也可以更改模板要使用:
<?php
$this->template->set_template('login');
?>
所有這些模板有保存名稱在配置文件中。您可以擁有任意數量的模板。
模板文件本身會是這個樣子:
<html>
.... etc. all other html elements
<body>
header html goes here
<?=$content?>
footer html goes here
</body>
</html>
,你甚至可以設置部分,以能夠寫入您的內容。我通常不這樣做,因爲它包括了很多意見,但如果你需要這樣的完全控制,你仍然可以這樣做:
<?php
function index() {
$data['header'] = 'header info';
$data['content'] = 'content info';
$data['sidebar'] = 'sidebar info';
$data['footer'] = 'footer info';
$this->template->write_view('content', 'page/home', $data);
$this->template->write_view('header', 'modules/header');
$this->template->write_view('sidebar', 'modules/sidebar');
$this->template->write_view('footer', 'modules/footer');
$this->template->render();
}
?>
HTML模板代碼:
<html>
.... etc. all other html elements
<body>
<div id="header">
<?=$header?>
</div>
<div id="content">
<div id="left">
<?=$content?>
</div>
<div id="sidebar">
<?=$sidebar?>
</div>
</div>
<div id="footer">
<?=$footer?>
</div>
</body>
</html>
這樣,您只需要擔心在所有控制器功能中包含一個文件。如果您不使用PHP 5(您應該切換),那麼您將不想使用<?=$content?>
,而是使用<?php echo $content; ?>
。
這會提高性能嗎? – 2009-07-24 01:02:48
網站的性能?我不這麼認爲。編程的性能?當然,因爲您將在佈局和內容之間分離控制器和視圖,並且正確執行。 – Residuum 2009-07-24 08:11:25