分享關於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層的資料互動更加多樣化,前臺需要做相比以前更多的資料處理等。
所以並不是後臺比前臺開發高大上,我們會越來越意識到前臺開發的重要性和複雜性。
當然我瞭解的還太少,經驗也不夠。希望可以和大家一起討論分享。