代码之家  ›  专栏  ›  技术社区  ›  Fil

Laravel是如何用括号包装新的sendemail($user)来调用onqueue方法的?

  •  0
  • Fil  · 技术社区  · 7 年前

    我读过这篇文章 How to make function run in background in laravel ,然后我注意到这条线。

    $sendEmailJob = (new SendEmail($user))->onQueue('emails');
    

    Laravel怎么打电话给 ->onQueue 包装方法 new SendEmail($user) 带圆括号?

    我问这个问题是因为我不知道要搜索哪个词。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gumma Mocciaro    7 年前

    这是调用类内方法的“快速方法”,介绍于 PHP 5.4.0 ,假设您只需要该方法,而不需要该类中的其他任何内容,那么您可以执行类似的操作。

    (new myClass())->myMethod()

    这将防止对不再使用的变量使用不必要的内存。如果你做类似的事情

    $class = new myClass();
    $class->myMethod();
    unset($class);
    

    参考文献: http://php.net/manual/en/language.oop5.basic.php#example-178