4

call_user_func()コールバックの問題をデバッグするために の使用法について言及している人をたくさん見てきましたが、残念ながら、コントローラー内のGrocery_CRUDテスト関数への呼び出しを配置する場所など、実際にそれを使用する方法の完全な例を示した人はいません。[just_a_test()]私が発見しようとしているものの例はここにあります。

これをどこで呼ぶのか理解できません

  1. just_a_test()
  2. call_user_func(array($this,'insert_coupon_codes'));に渡されるパラメーターがない場合、どのようにして目的のパラメーターを渡すことができますjust_a_test()か?
  3. どうしてinsert_coupon_codes希望のパラを手に入れることができるのでしょうか?
4

1 に答える 1

1

食料品 CRUD は、ライブラリからパラメーターを自動的に追加します。(バージョン 1.1.8 まで) コールバックにパラメータを追加することはできません。

更新: Grocery CRUD の最新バージョンでは、必要な数のパラメーターを渡すことができるようになりました。これは、PHP がバージョン PHP 5.4 以降で提供している機能です。より具体的には、useキーワードを使用します。より具体的には、 callback callback_after_insert: 通常は次のように使用します。

$crud->callback_after_insert(function ($post_array,$primary_key) {
    // Your code here
});

usePHP 5.4 バージョン以降では、たとえば次のようにパラメータを追加できます。

$my_variable = 'test';
$another_variable = 'hello';
$crud->callback_after_insert(function ($post_array,$primary_key) use ($my_variable, $another_variable) {
    // Now you can use the variables $my_variable and $another_variable at your callback
});
于 2012-02-16T23:48:09.220 に答える