Php Laravel重定向并继续执行脚本
如何重定向用户,然后在数据库中存储有关该用户的数据Php Laravel重定向并继续执行脚本,php,redirect,laravel,Php,Redirect,Laravel,如何重定向用户,然后在数据库中存储有关该用户的数据 return Redirect::to('http:www.google.com'); // Strore analytics $ip = $_SERVER['...'] $analytic = new Analytic(); $analytic->ip = $ip; $analytic->save(); 实际上不仅仅是ip。我需要存储更多的数据,若我先存储这些数据,然后返回重定向,那个么用户需要等到一切都完成 如何先重定向然后继
return Redirect::to('http:www.google.com');
// Strore analytics
$ip = $_SERVER['...']
$analytic = new Analytic();
$analytic->ip = $ip;
$analytic->save();
实际上不仅仅是ip。我需要存储更多的数据,若我先存储这些数据,然后返回重定向,那个么用户需要等到一切都完成
如何先重定向然后继续savin数据?您是否使用Sentry处理用户会话 例如
基本上你不能这么做。一旦您将用户重定向到另一个位置,那么该行之后的代码将不会执行。您应该先保存数据,然后重定向,这样不会花费太多时间(IMO) 但是 如果要先重定向用户(不保存数据),则可以使用Laravel的
队列
。您可以创建这样的类:
class SaveData {
public function fire($job, $data)
{
//
}
}
Queue::push('SaveData', array('ip' => $ip, 'otherField' => 'value'));
return Redirect::to('someurl');
然后您可以像这样使用该类:
class SaveData {
public function fire($job, $data)
{
//
}
}
Queue::push('SaveData', array('ip' => $ip, 'otherField' => 'value'));
return Redirect::to('someurl');
有几个驱动程序可用,您需要在app/config/queue.php
中设置配置,请阅读更多相关信息。这只是关于队列的基本概念,请在Laravel网站上阅读更多内容