|
楼主 |
发表于 2011-7-8 09:12:12
|
显示全部楼层
不小心按错,才开始写贴,就发了,非常抱歉~不知道怎么删除。
接触CI已经差不多半年了,在社区中学习了很多东西,但是一直都没有贡献一点东西。今天谈谈如何在mvc架构下调试程序。这从接触CI,调试问题一直困扰了我很久,一直都不知道如何有效的调试。有的说可以用Xdebug,有的说可以用zend studio的调试器,Xdebug安装成功后,调试界面是变得漂亮,但是还是不能非常有效的调试。
直到这几天才发现一种非常有效的调试方式,跟大家一起分享,本人小菜,大鸟别打击。
这种方法非常原始,确实非常有用,如果不是要用到过程调试的话。
就是:
vardump($某个变量);exit();
代码简单到无法再简单,但是却非常有用。他的好处就是可以用在任何地方,无论用在控制器或者模型里面都可以进行调试。如果用在模型里面,那么需要用一个控制器来调用这个模型,那么就可以在模型里面输出需要查看的变量。
不知道这样说清不清楚。下面给个例子:
这个是模型代码:
<?php
class Master extends Model
{
const TBL_MASTER_MASTER = 'master';
//CURD
/**
* 插入一条master_master的记录
*
* @param array $content_data master关联数组
* @return false或者插入id
*/
public function add_master($content_data)
{
if(is_array($content_data) && !empty($content_data))
$this->db->insert(self::TBL_MASTER, $content_data);
return ($this->db->affected_rows() == 1) ? $this->db->insert_id() : FALSE;
}
/**
* 列出master_master的字段
*
* @param NULL
* @return false或者master_master的对象数组
*/
public function list_fields()
{
$result = $this->db->list_fields(self::TBL_MASTER);
//var_dump($result);exit();
return isset($result) ? $result : FALSE;
}
}
下面是个控制器:
<?php
class Test extends Controller
{
public function __construct()
{
parent::Controller();
}
public function index()
{
$this->load->model('master_master_mdl');
$fields = $this->master_master_mdl->list_fields();
//var_dump($result);
}
}
这样只要在浏览器输入url就可以查看model里面的数据啦~~~。第一次写贴,还挺累的。呵呵 |
|