2011-12-13 55 views
4

我見過很多人提到call_user_func()的用法來調試Grocery_CRUD回調中的問題,但不幸的是,沒有人提供了一個完整的例子來實際地如何使用它,比如在何處發出呼叫到控制器中的測試功能[just_a_test()]我試圖發現的一個例子是here調試Grocery_CRUD回調

我無法明白的地方我們稱這個

  1. just_a_test()
  2. 我們如何能夠通過使用call_user_func(array($this,'insert_coupon_codes'));所需的參數時,有沒有對的被傳遞到just_a_test()
  3. insert_coupon_codes怎麼能得到想要的段?

回答

1

Grocery CRUD從庫中自動添加參數。你不能(直到現在在版本1.1.8)在你的回調中添加更多參數。

更新:在雜貨店CRUD的最新版本,現在你需要,你可以通過許多參數。這是PHP從PHP 5.4或更高版本提供的功能。更具體地說與use關鍵字。更具體地講,如果你有回調callback_after_insert: 通常你會使用這樣的:

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

從PHP 5.4及以後的版本,你可以添加與use更多的參數,以便例如,你可以有:

$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 
}); 
+0

是否有可能在最新版本中這樣做? – cMinor

+1

是的,你可以。查看更新的答案:) –