我正在開發一個php mvc框架,並且面臨在佈局中渲染視圖的問題,該問題由控制器提供服務。 例如,登錄框對網站的所有頁面都是通用的。這裏是我的佈局:在佈局MVC中呈現動態視圖PHP
<?= $this->partial('layouts/header') ?>
<aside class="login-box">
<?= $this->partial('indexController', 'loginboxAction');
</aside>
<section class="main">
<?= $this->content() ?>
</section>
<?= $this->partial('layouts/footer') ?>
有靜態或接近靜態的頁眉/頁腳的模板沒有問題,但用戶塊可以恰克它的狀態,它的行爲可以通過控制器進行管理(如indexController
一樣)。
如何使這樣的partial
方法,可以做到這樣的魔法?它看起來像我需要強制FrontController
呈現該控制器的整個MVC,不是嗎?但這將是非常低效的。或者,也許我認爲是錯誤的,這樣的塊,作爲用戶框,可以只是一個視圖,沒有與控制器鏈接?
我明白,我的問題非常抽象,我沒有提供任何代碼,但它比技術問題更具體的架構問題。
你在那裏與MVC無關。這只是一個愚蠢的[模板](http://codeangel.org/articles/simple-php-template-engine.html)。 –
這個問題並不十分清楚。每個控制器都需要有足夠的數據來說明它在做什麼。它所做的一件事就是爲視圖提供數據。您需要能夠根據不同的控制器參數呈現不同的視圖(或查看零件)。 – Shomz
@Shomz實際上,如果不是模仿Rails,而是嘗試實現MVC,那麼控制器**不會向視圖**提供數據。 –