Отладка обратных вызовов Grocery_CRUD - PullRequest
4 голосов
/ 13 декабря 2011

Я видел, как многие люди обращались к использованию 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 сможет получить желаемый пункт?

1 Ответ

1 голос
/ 17 февраля 2012

Продуктовый CRUD автоматически добавляет параметры из библиотеки. Вы не можете (до сих пор в версии 1.1.8) добавлять дополнительные параметры при вашем обратном вызове.

Обновление: В последней версии Grocery 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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...