當我調用一個控制器並調用該模型時,模型將從我的數據庫返回分配給控制器中某些內容的信息。CodeIgniter如何通過Controller從模型發送信息到視圖?
但它如何「發送」到視圖進行渲染?例如,當我發送$ data數組到my_view.php。它如何到達那個頁面,所以我猜測,我可以做一些事情,比如使用extract來獲取我的個體變量。
我真的問在PHP的水平,你會如何發送數據(所以我可以學習)。這種觀點如何知道我發送了什麼?
謝謝。
當我調用一個控制器並調用該模型時,模型將從我的數據庫返回分配給控制器中某些內容的信息。CodeIgniter如何通過Controller從模型發送信息到視圖?
但它如何「發送」到視圖進行渲染?例如,當我發送$ data數組到my_view.php。它如何到達那個頁面,所以我猜測,我可以做一些事情,比如使用extract來獲取我的個體變量。
我真的問在PHP的水平,你會如何發送數據(所以我可以學習)。這種觀點如何知道我發送了什麼?
謝謝。
加載它時,必須將$ data數組作爲第二個參數「發送」到視圖。
$data['user'] = array(
'name' => 'Tom Jones',
'gender' => 'male'
);
$this->load->view('blogview', $data);
然後,數組的內容都可以通過對應的鍵值的視圖中訪問
<?php echo $user['name']; ?>
結帳出文檔的更多細節:http://codeigniter.com/user_guide/general/views.html
所有的PHP的一般模式意見是這樣的:
function render_view($__filename, $__data) {
extract($__data);
include $__filename;
}
這是基本上是 CodeIgniter如何執行它,但它使用加載器來查找視圖文件名幷包含輸出緩衝選項。
您能告訴我哪個文件處於我可以學? – johnny 2011-12-24 00:22:58
也許你應該閱讀[代碼](https://github.com/EllisLab/CodeIgniter/blob/develop/system/core/Loader.php#L413)? – 2011-12-23 22:58:20
是的,它基本上是在包含文件的上下文中提取()傳遞給視圖的數據對象/數組的每個鍵。在CI的新版本中,這些值對所有後續視圖都是持久的,您可以使用$ this-> load-> get_var('variable name')獲取特定的「變量」 – landons 2011-12-23 23:02:05