实现php5中的var_dump函数,PHP如何将var_dump函数中的对象写入数据库?

我使用CodeIgniter,我在模型中有一个函数createRecord:

public function createRecord($aRecordToSave) {

$oLatestRecord = $this->getLatestRecord($aRecordToSave[$this->sForeignKey]);

var_dump($oLatestRecord);

$this->db->trans_begin();

$this->db->where($this->sForeignKey, $aRecordToSave[$this->sForeignKey]);

$this->db->update($this->sRecordsTable, array('latest' => 0));

}

如果只在数据库中写入执行该功能,并且通过单击“保存到显示视图”立即从编辑中重定向页面,如何显示var_dump输出?

解决方法:

如果只想输出var_dump的结果

var_dump通常用于调试上下文,通常不用于用户上下文的反馈消息.

所以;如果要将消息反馈给用户,最简单的方法是使用$_SESSION并使用print_r()转储var.

因此:

public function createRecord($aRecordToSave) {

....

$_SESSION['message'] = print_r($oLatestRecordSignature,true);

....

}

将保存您的消息,然后您可以将代码添加到输出页面以显示消息,例如:

if(!empty($_SESSION['message'])){

print $_SESSION['messge'];

unset($_SESSION['message]);

}

如果要记录var_dump的结果并停止执行

与print_r()不同,var_dump不允许您选择数据的输出位置.

所以;如果你想反馈消息进行调试,最简单的方法是使用PHP errr_log并转储var.最好将内容存储在错误日志中,而不是简单地将错误输出到屏幕,因为您可以查看在每次执行时对代码进行更改时错误如何演变.

因此:

public function createRecord($aRecordToSave) {

....

error_log(print_r($oLatestRecordSignature,true));

error_log(print_r(debug_backtrace(),true); //optional but useful

exit; // cease script execution.

....

}

然后,您可以在错误日志中阅读此详细信息.

标签:php,codeigniter

来源: https://codeday.me/bug/20190627/1305377.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值