在PHP中并行调用多个函数

时间:2016-11-21 22:51:15

标签: php laravel

我在控制器上有以下代码

class SomController extends Controller
{
public function index(){
    $var1           = $this->function1();
    $var2           = $this->function2();
    $var3           = $this->function3();
    $var4           = $this->function4();
    return view('someview', array(self::SOME1 => $var1,self::SOME2 => $var2,self::SOME3 => $var3,self::SOME4 => $var4));
  }
}

所以我想要并行调用这4个函数并等待所有时间完成以呈现laravel视图,我尝试使用pthreads,pcntl_fork,我甚至使用hhvm和hack,没有好的结果并行结果是否有任何简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

你不能仅仅在PHP中这样做,它只是PHP,Ruby和Python等同步编程语言的本质,从代码的开始到结束逐个执行代码。如果你想这样做,那么使用像Node.js这样的异步语言或者尝试搜索异步PHP库(不建议这样做,因为没有成熟的解决方案)。

但是在这里:许多大公司为他们的网站使用同步语言,如谷歌,Youtube,Bootcamp等。大多数时候你真正需要的是先聪明地执行你的程序,然后如果你真的需要异步请求,在用户端使用AJAX进行,但它会使你的代码变得很复杂,然后你真正需要它。