天天看點

共享類物聯網應用架構 小結

我國逐漸進入老齡化社會,中老年人口越來越多,随着年齡增長而産生的各種病症也自然增多,風濕病、骨質增生、手腳麻木、腰肌勞損等;于是就有人看準了商機,加之正好趕上共享經濟的風口,共享理療儀應運而生。

老年中心對共享理療儀的誕生更加關注,當下解決老年中心及養老院應用的方案也趨向成熟,

流行技術架構如下:

共享類物聯網應用架構 小結

此方案也是衆多物聯類營運中心常用架構之一。

資料間的傳輸:

1、将資料從控制器傳入視圖

     由于控制器controllers在ci中扮演交通警察的角色,其是一個大類,而視圖view作為controller類中的一個函數中的函數,是以view可以使用controller中的屬性。是以可以這樣寫:

Controller類Test

class Test extends CI_Controller {

    public static $test2=''; //定義一個屬性

    public function __construct(){

        parent::__construct();

        self::$test2 = $this->load->view('new','',true); //給$test2這個屬性指派

    }

    public function index()    {    

        $this->load->helper('url');            

        $this->load->view('anchor');    

    }

}

View.php

<?php

echo Test::$test2; //直接使用類中的值

?>

這種直接使用controllers類中的值的方法雖然可行,卻不是ci所提倡的。一般來說在controller中使用$this->load->view()的時候可以通過參數傳值給view視圖:

function index()

{

    $data['css'] = $this->css;

    $data['base'] = $this->base;

    $data['mytitle'] = 'Welcome to this site';

    $data['mytext'] = "Hello, $name, now we're getting dynamic!";

    $this->load->view('testview', $data); //$data通過參數傳遞到view

}

這裡,把需要傳遞的數值加入至$data數組,ci在核心類中給自動使用extract()函數把數組“解壓”出來,成為一個個變量。是以在view中可以直接這樣使用變量:

echo $css;

2、模型與視圖的互動

在ci中模型總是用以處理資料,模型中資料處理也是通過controller中轉到view,是以最好不要試圖模型直接與視圖聯系。手冊中有這樣一個例子:

class Blog_controller extends CI_Controller {

    function blog()    {

        $this->load->model('Blog'); //載入模型

        $data['query'] = $this->Blog->get_last_ten_entries(); //使用模型中的方法,将傳回值存入$data數組

        $this->load->view('blog', $data); //像上例一樣,通過參數傳給視圖view

    }

}