2011-12-23 53 views
0

當我調用一個控制器並調用該模型時,模型將從我的數據庫返回分配給控制器中某些內容的信息。CodeIgniter如何通過Controller從模型發送信息到視圖?

但它如何「發送」到視圖進行渲染?例如,當我發送$ data數組到my_view.php。它如何到達那個頁面,所以我猜測,我可以做一些事情,比如使用extract來獲取我的個體變量。

我真的問在PHP的水平,你會如何發送數據(所以我可以學習)。這種觀點如何知道我發送了什麼?

謝謝。

+0

也許你應該閱讀[代碼](https://github.com/EllisLab/CodeIgniter/blob/develop/system/core/Loader.php#L413)? – 2011-12-23 22:58:20

+0

是的,它基本上是在包含文件的上下文中提取()傳遞給視圖的數據對象/數組的每個鍵。在CI的新版本中,這些值對所有後續視圖都是持久的,您可以使用$ this-> load-> get_var('variable name')獲取特定的「變量」 – landons 2011-12-23 23:02:05

回答

4

加載它時,必須將$ 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

1

所有的PHP的一般模式意見是這樣的:

function render_view($__filename, $__data) { 
    extract($__data); 
    include $__filename; 
} 

這是基本上是 CodeIgniter如何執行它,但它使用加載器來查找視圖文件名幷包含輸出緩衝選項。

+0

您能告訴我哪個文件處於我可以學? – johnny 2011-12-24 00:22:58

相關問題