Это мой класс:
class Order {
public function insert($data)
{
...
}
}
Я опубликовал данные и хочу отправить их в мой метод, который находится в классе:
$app->post('/insert-order', '\Order:insert');
Я пытаюсь сделать это работает, как этот пример:
$app->post('/insert-order', function() use ($app) {
$req = $app->request();
die(var_dump($req->post()));
});
В этом случае, когда у меня нет класса, прекрасно работает. Спасибо!
Вы можете добиться этого, отметив $app
как глобальный внутри вашего класса.
class Order {
public function insert()
{
global $app;
var_dump($app->request->post());
}
}
Использование глобалов обычно считается дурной привычкой. Еще один способ сделать то же самое ниже.
class Order {
public function insert($data)
{
var_dump($data);
}
}
$app = new \Slim\Slim();
$app->post("/insert-order", function() use ($app) {
$order = new Order();
$data = $app->request->post();
$order->insert($data);
});
$app->run();
Других решений пока нет …