我如何调试我的回调脚本?
我有一个deal_management函数,它做杂货CRUD
我有一个
callback_after_insert( array( $this, ‘insert_coupon_codes’ ) );
Run Code Online (Sandbox Code Playgroud)
由于数据库中的插入不能在我的函数中工作,我insert_coupon_codes无法知道或查看我的SQL.
是否有任何功能,我可以在回调函数内调试我的PHP脚本没有任何黑客攻击?
我没有print_r()和var_dump(),但这些似乎并没有给回调函数里面工作.
首先确保call_user_func与您的函数一起正常工作.例如,你可以试试这个:
function just_a_test()
{
call_user_func(array($this,'insert_coupon_codes'));
}
function insert_coupon_codes($post_array = array(), $primary_key = null)
{
echo "Just a test";
die();
//Your code here
}
Run Code Online (Sandbox Code Playgroud)
回调中的问题是当出现问题时没有错误显示.所以,例如,如果你有
call_user_func(array($this,'test2'));
Run Code Online (Sandbox Code Playgroud)
test2函数不存在.但任何地方都没有错误.
如果一切顺利,您可以简单地通过简单的黑客调试插入/更新.
在杂货店CRUD中,插入/更新/删除是一个ajax调用,所以要调试你的项目,你必须使用firefox firebug进行调试.您可以拥有var_dump或print_r,并查看来自firebug的ajax调用响应.如果你不熟悉如何使用firebug,我有一个小的黑客解决方案来进行调试.
只需转到您的添加或编辑表单并禁用所有javascripts(您可以下载Web Developer for firefox,然后单击禁用>禁用Javascript>所有Javascript).然后,如果您刷新表单添加或编辑并推送提交,则视图中将存在ajax请求.所以你可以看到你的var_dump或print_r.
仍然杂货CRUD不支持回调调试,所以我认为它现在是一个很好的解决方案.除此之外,在没有黑客攻击的情况下进行调试,您可以轻松拥有codeigniter的log_message功能.有关更多信息,请访问http://ellislab.com/codeigniter/user-guide/general/errors.html
| 归档时间: |
|
| 查看次数: |
4651 次 |
| 最近记录: |