Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel重定向并继续执行脚本_Php_Redirect_Laravel - Fatal编程技术网

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网站上阅读更多内容