在服务提供商上对事件注册进行分组

时间:2013-08-30 15:16:59

标签: laravel laravel-4

我想定义一个注册事件的服务提供者。所以做了以下(取自一本书)

<?php
namespace MyApp\Providers;
use Illuminate\Support\ServiceProvider;

class EventsProvider extends ServiceProvider 
{

     public function boot()
     {
         Event::listen('some.event', function($parameter)
         {
             // Handle the event..
         });
     }
}

然后我将它添加到提供者数组。

但是当我执行代码时,我收到以下错误

  

实现其余方法   (照亮\支持\的ServiceProvider ::寄存器)

它迫使我宣布register()方法。

当我向EventsProvider类添加一个名为register()的方法(没有实现,只是让它返回null)时出现以下错误

  

未找到类'MyApp / Providers / EventProvider'

为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:2)

你只需要声明它,因为它在界面中声明:

<?php namespace MyApp\Providers;

use Illuminate\Support\ServiceProvider;

class EventsProvider extends ServiceProvider {

    public function boot()
    {
          Event::listen('some.event', function($parameter)
          {
                // Handle the event..
           });
    }

    public function register() 
    {
    }

}

然后执行

composer dump-autoload --optimize

但是你可能在某个地方也有拼写错误,因为它说的是Class 'MyApp/Providers/EventProviders' not found,但它应该是MyApp/Providers/EventProvider