2011-11-20 7 views
1

コールバックスクリプトをデバッグするにはどうすればよいですか?食料品のデバッグCRUD

私は食料品のCRUD

を行うdeal_management機能を持っていると私は

callback_after_insert(array($this, ‘insert_coupon_codes’)); 

を持っているデータベースへの挿入が私の機能insert_coupon_codesで働いていないので、私は私を知っているか確認する方法がありませんSQL。

コールバック関数の中で私のPHPスクリプトをハックすることなくデバッグできる関数はありますか?

私はprint_r()var_dump()をコールしましたが、これらはコールバック関数内では機能しないようです。

答えて

5

まず、関数で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 
} 

問題は、何かがうまくいかない時に表示するエラーがないということです。従ってあなたが持っている場合例えば

call_user_func(array($this,'test2')); 

test2関数が存在しない場合。しかしどこにもエラーはありません。

これですべてがうまくいけば、簡単にハックして挿入/更新をデバッグできます。

食料品のCRUDでは、挿入/更新/削除はajax呼び出しですので、プロジェクトをデバッグするにはfirefoxのfirebugでデバッグする必要があります。 あなたのvar_dumpまたはprint_rを持って、あなたのファイヤーバグからのajax呼び出しの応答を見ることができます。あなたが火かき棒の使い方に慣れていない場合は、 私はデバッグのための少しハッキングの解決策を持っています。

追加または編集フォームにアクセスして、すべてのJavaScriptを無効にしてください (FirefoxのWeb Developerをダウンロードし、[無効]> [JavaScriptを無効にする]> [すべてのJavascript]をクリックします)。 フォームの追加や編集、プッシュ・サブミットをリフレッシュすると、ajaxリクエストがビューに表示されます。 これで、あなたはあなたのvar_dumpかprint_rを見ることができます。

まだ食卓CRUDはコールバックのデバッグをサポートしていないので、私は今、その良い解決策だと思います。これ以外にも、ハッキングのないデバッグのために、いつでも簡単にcodeigniterのlog_message関数を持つことができます。詳細は、http://ellislab.com/codeigniter/user-guide/general/errors.html

+0

でご覧になれます。こんにちはJohnさん、私は非常にSQLのデバッグに興味があります。第2段落をもっと深く説明できますか?私はこれらの手順を試してみましたが、{success:true、success_message:あなたのデータが格納されている、そしてもっと多くのフィールド}のjsonを含むボックスを取得していますが、SQLは表示されません。それはどこにあるべきですか? – voghDev

関連する問題