0

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

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

class EventsProvider extends ServiceProvider 
{

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

然后我将它添加到提供程序数组中。

但是当我执行代码时出现以下错误

实现剩余的方法(Illuminate\Support\ServiceProvider::register)

它迫使我声明一个register()方法。

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

找不到类“MyApp/Providers/EventProvider”

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

4

1 回答 1

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

于 2013-08-30T15:33:12.987 回答