CI架構傳遞數組到視圖View層_PHP教程

來源:互聯網
上載者:User
視圖是使用者使用者能看到你的網站的所有。 他們使用一個統一的介面, 而且可以根據需要進行修改。 MVC 的好處之一是你分開了展示層和邏輯層, 一切都顯得很乾淨。視圖實際上是一組包含有你的內容的HTML結構。結構中有各種元素,如顏色,字型,文字布局等; 不過視圖不關心這些,它要做的只是取來內容,顯示出來。

一般我們在控制器中這樣定義:

function index() {   $data['mytitle']    = "A website monitoring tool";   $data['mytext']    = "This website helps you to keep track of the other websites you control.";      $this->load->view('basic_view',$data);}

我們把$data數組作為$this->load->view()的第二個三數,在視圖名稱之後。視圖接收到$data數組後,使用PHP函數extract()把數組中的每個元素轉換成記憶體變數,數組的鍵名即為變數名,值為變數內所包含的值。這些變數的值能直接被視圖引用:

  

雖然你只能傳送一個變數到視圖, 但是通過建立數組,你能把大量變數整潔地傳入視圖。它似乎複雜, 但是實際上是一種緊湊和優秀的資訊傳輸方式。

如果傳遞過來的數組是包含多個資料,那麼就需要遍曆,操作一般如下。先是控制器:

$data["notice"] =array('aaa','bbb'); $this->load->view('api/notice',$data);

視圖中解析:

0){        foreach($notice as $key =>$value ){?>    

再說下二維數組的傳遞與遍曆問題。下面的程式實現遍曆某個目錄下的檔案。

load->helper('url');$data['page_title'] = '幫客之家';$data['pre_url'] = 'application/views/default/';     $this->load->view('default/header', $data);      $this->load->view('default/index', $data);      $this->load->view('default/footer');//$this->load->view('index');}public function gdnews(){$this->load->helper('url');$arr = array();function tree($directory) { $mydir = dir($directory); while($file = $mydir->read()){ // 是目錄的話if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) {//echo "
  • $file
  • \n"; //tree("$directory/$file"); } // 不是目錄else {$arr['name'][] = @iconv('GB2312','UTF-8',$file);$arr['time'][] = @iconv('GB2312','UTF-8',date('Y-m-d H:i:s', filemtime($file)));}}$mydir->close(); return $arr;}$dir = "datas/gdnews/";$arr = tree($dir);$data['files'] = $arr;$data['page_title'] = '幫客之家' ;$data['dir'] = $dir;$this->load->view('default/header', $data); $this->load->view('default/data', $data); $this->load->view('default/footer');}}?>

    在視圖中這麼輸出就可以:

    0){        foreach($files['name'] as $key =>$value ){?>               

    " target="_blank">查看 刪除

    http://www.bkjia.com/PHPjc/752565.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/752565.htmlTechArticle視圖是使用者使用者能看到你的網站的所有。 他們使用一個統一的介面, 而且可以根據需要進行修改。 MVC 的好處之一是你分開了展示層和邏輯...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.