跨控制器方法Laravel 5.1共享复杂对象

时间:2016-11-10 12:39:21

标签: php laravel symfony

鉴于以下情况:

datatable异步生成一个进程(Symfony Process对象),controller@method_a需要与进程交互

您将如何实现共享Process对象?

我过去的事情:

  • 控制器属性不会持久存在,就像控制器重新实例化的每个请求一样
  • 会话无法存储复杂的对象,序列化将成为它的灵魂
  • 数据库无法存储复杂对象

修改

到序列化问题:

controller@method_b

如果我删除 $process = new Process("dir"); $process->start(); $x = serialize($process); dd($x); ,则不会触发$process->start()。但是对于没有启动的进程的句柄,我无法做任何事情。

1 个答案:

答案 0 :(得分:0)

我想这里唯一的选择是serialize一个对象并将其持久保存(DB,session,file)。在下一个请求中,将其拉出unserialize