您的位置:首页 > 编程语言 > PHP开发

分享关于php CI框架使用的一点小总结

2015-04-14 09:21 597 查看
最近频繁使用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层的数据交互更加多样化,前台需要做相比以前更多的数据处理等。

所以并不是后台比前台开发高大上,我们会越来越意识到前台开发的重要性和复杂性。

当然我了解的还太少,经验也不够。希望可以和大家一起讨论分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: