2016-11-10 77 views
2

考慮以下情形:跨控制器方法共享複雜的對象Laravel 5.1

[email protected]_a生成一個進程(Symfony的進程對象),異步,[email protected]_b需要與過程

你將如何實現共享進程對象交互?

事情我已經去了:

  • 控制器屬性不會持續,因爲每個請求控制器被重新實例
  • 會話不能存儲複雜的對象,並序列化將採取的靈魂它
  • 數據庫不能存儲複雜的對象要麼

編輯:

將序列化問題:

$process = new Process("dir"); 
    $process->start(); 
    $x = serialize($process); 
    dd($x); 

如果我刪除$process->start(),它不火Serialization of 'Closure' is not allowed。但是對於一個沒有啓動的進程,我無法做任何事情。

+0

如果這是一個控制器,您可以使用public $ var保存數據並與另一個方法共享。 –

回答

0

我想這裏唯一的選擇是serialize一個對象,並將其保存在某個地方(DB,會話,文件)。在下一個請求中,將其拉出並且unserialize

+0

這引發了'封閉'序列化'不允許'異常。 –

+0

你可以顯示你的代碼嗎? –

+0

添加代碼,.... –