2013-05-14 51 views
6

控制器:爲什麼我們在負載使用TRUE的視圖,笨

$data = array(); 
$page['left_content'] = $this->load->view('left_content', $data, TRUE); 
$page['main_content'] = $this->load->view('left_content', $data, TRUE); 
$page['right_content'] = $this->load->view('left_content', $data, TRUE); 
$this->load->view('home',$data); 

查看:

<body> 
<?php if(isset($left_content)){echo $left_content;}?> 
<?php if(isset($main_content)){echo $main_content;}?> 
<?php if(isset($right_content)){echo $right_content;}?> 
</body> 

請大家看上面的代碼。此代碼用於查看主網頁中的頁面。 現在只需進行測試。如果我們僅從代碼中刪除TRUE,代碼將無法正常工作。這意味着當我們刪除它時,視圖不會在正確的位置打印出來。它將自身打印在主視圖或主主頁的頂部。 我GOOGLE了很多,但找不到任何理由使用它。 我只想知道爲什麼我們只在這段代碼中使用TRUE? thnx

回答

10

當我們在加載視圖時作爲可選參數傳遞TRUE時,它將返回內容而不是直接向瀏覽器發送(顯示)數據。

您可以documentation檢查:

還有第三個可選參數,可以讓你改變的 行爲的功能,使得它返回的數據作爲一個字符串,而不是發送 到您的瀏覽器。如果您想以某種方式處理數據 ,這會很有用。如果將該參數設置爲true(布爾值),它將返回 數據。默認行爲是false,將其發送到您的瀏覽器。 如果您想要返回數據,請記住將其分配給變量:

$ string = $ this-> load-> view('myfile','',true);

+0

我想它是一樣的; 'ob_start(); $ this-> load-> view(「some_view」); $ echoed_content = ob_get_clean();' – rcpayan 2013-05-14 14:28:44

+0

thnx很多兄弟........ – 2013-05-29 05:38:24

+0

接受答案,如果它真的幫助你... – 2013-05-29 05:45:49

0

第三個可選參數的目的可以讓你改變函數的行爲,以便它返回的數據作爲一個字符串,而不是將其發送到你的瀏覽器。如果您想以某種方式處理數據,它非常有用。如果將該參數設置爲true(布爾值),它將返回數據。默認行爲是false,將其發送到您的瀏覽器。

例子:

$dataString = $this->load->view('viewFileName','', true); 

注:請記住,如果你想返回的數據

這裏$ dataString變量將它分配給一個變量包含數據的要求查看文件Read here的字符串更詳細

相關問題