2016-09-18 25 views
0

我用命令的PHP工匠事件创建事件:让EventTest和产生这个类:了解Laravel 5.3活动

class EventTest 
{ 
    use InteractsWithSockets, SerializesModels; 

    /** 
    * Create a new event instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     // 
    } 

    /** 
    * Get the channels the event should broadcast on. 
    * 
    * @return Channel|array 
    */ 
    public function broadcastOn() 
    { 
     return new PrivateChannel('channel-name'); 
    } 
} 

为Laravel官方文档,但是5.3事件看起来不同https://laravel.com/docs/5.3/events#defining-events,事件,它使用的例子看起来像这样的:

class OrderShipped extends Event 
{ 
    use SerializesModels; 

    public $order; 

    /** 
    * Create a new event instance. 
    * 
    * @param Order $order 
    * @return void 
    */ 
    public function __construct(Order $order) 
    { 
     $this->order = $order; 
    } 
} 

正如你可以看到它扩展事件,由工匠创建了事件不会扩展事件,也是我的类使用InteractsWithSockets同时laravel文档类没有。为什么这种差异,这是什么意思? Laravel的5.3文档已经过时了,没有更新以反映最新的变化?

回答

1

看起来你是正确的。看起来这个文档的特定部分没有在5.3版本中更新。

要更全面地回答您的问题,Laravel 5.3不再使用您在5.2文档中引用的abstract Event class

抽象本身是不必要的,所以它被删除。

至于你看到的InteractsWithSockets特征,增加了它与Websockets更加无缝集成。如果您的应用程序未使用Websockets(请参阅:Socket.io),那么您不必利用这些特性,并且可以安全地移除使用语句。

任何人都可以编辑文档,因此您可能需要考虑在文档here中添加拉取请求。