1. 程式人生 > >分享關於php CI框架使用的一點小總結

分享關於php CI框架使用的一點小總結

最近頻繁使用CI框架,這裡主要是關於後臺的開發,重點分享關於Model和Controller層的一點點總結:

1.涉及到互動資料庫,我們先在database.php總新增我們需要使用的資料庫的連線資訊,如下例項(需要將相關資訊補充完整):

$db['name']['hostname'] = '';
$db['name']['username'] = '';
$db['name']['password'] = '';
$db['name']['database'] = '';
$db['name']['dbdriver'] = '';
$db['name']['dbprefix'] = '';
$db['name']['pconnect'] = FALSE;
$db['name']['db_debug'] = FALSE;
$db['name']['cache_on'] = FALSE;
$db['name']['cachedir'] = '';
$db['name']['char_set'] = '';
$db['name']['dbcollat'] = '';
$db['name']['swap_pre'] = '';
$db['name']['autoinit'] = TRUE;
$db['name']['stricton'] = FALSE;

2.然後在我們的Model中:   $this->db=$this->load->database("name",TRUE);     這樣就可以在Model中使用我們配置的資料庫(可以引用多個database)。

  可以在function __construct() 中引用,也可以在特定的方法中引用;

3. 然後我們可以編寫function去實現特定的sql功能,以下提供一個比較簡單的function連線資料庫模板:

  function funcname($canshu1,$canshu2)
    {
        $sql = "update  tablename
                              set column(列名) = column+1
                              where game_id = ?
                              and qudao_order > ? ";
        $binds = array(
            $canshu1,
            $canshu2
        );
        $is_true = $this->db->query($sql, $binds); //這是實現sql的格式
        if ($is_true) {

// $result = $data->result_array();

            return true;
        } else return false;
    }

4. 在Controller中引用Model ,  $this->load->model('modelname'); 就可以使用model中的方法了;

5.在Controller的function中使用model的功能 $return = $this->modelname->funcname($canshu1,$canshu2); 

  然後繼續完成我們的功能。

以上是一種比較直接的訪問方式,我們可以結合PDO來訪問資料庫。

  將我們的資料庫連線資訊放在Array中,這樣新增比較方便,然後利用PDO來進行訪問,當然這需要你在php中添加了PDO模組。以下可供參考:

public  $db_info = array(
        'test'=>array(
            'host' => '127.0.0.1',
            'dbname' => 'test',
            'username' => 'root',
            'password' => 'jxdisno1'
        )

    ’other' =>array(

      )

    );
    public function getconn($db)
    {
        $conn= new PDO("mysql:host=".$this->db_info[$db]['host'].';dbname='.$this->db_info[$db]['dbname'],$this->db_info[$db]['username'],$this->db_info[$db]                 ['password']);
         return $conn;
    }

這裡關於Controller和View 層的互動這裡就不介紹,在下次將會單獨詳細介紹。下面做一些心得分享。

目前使用MVC框架的過程中,發現後臺的開發除非在sql上有複雜的要求,否則在Model和Controller層上的互動越來越簡單,越來越重複化,而在前臺則擔任越來越多的任務,

View與Controller層的資料互動更加多樣化,前臺需要做相比以前更多的資料處理等。

所以並不是後臺比前臺開發高大上,我們會越來越意識到前臺開發的重要性和複雜性。

當然我瞭解的還太少,經驗也不夠。希望可以和大家一起討論分享。