diff --git a/src/Illuminate/Auth/AuthServiceProvider.php b/src/Illuminate/Auth/AuthServiceProvider.php index 2820beb48a9e..c54506c46319 100755 --- a/src/Illuminate/Auth/AuthServiceProvider.php +++ b/src/Illuminate/Auth/AuthServiceProvider.php @@ -4,10 +4,11 @@ use Illuminate\Auth\Access\Gate; use Illuminate\Support\ServiceProvider; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Contracts\Auth\Access\Gate as GateContract; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; -class AuthServiceProvider extends ServiceProvider +class AuthServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php b/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php index 8df49f5041e7..c19e46d7cab1 100755 --- a/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php +++ b/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php @@ -4,8 +4,9 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; +use Illuminate\Contracts\Support\RegistrableProvider; -class PasswordResetServiceProvider extends ServiceProvider implements DeferrableProvider +class PasswordResetServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Broadcasting/BroadcastServiceProvider.php b/src/Illuminate/Broadcasting/BroadcastServiceProvider.php index 56628ef22502..eb639bf1751e 100644 --- a/src/Illuminate/Broadcasting/BroadcastServiceProvider.php +++ b/src/Illuminate/Broadcasting/BroadcastServiceProvider.php @@ -4,10 +4,11 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Contracts\Broadcasting\Factory as BroadcastingFactory; use Illuminate\Contracts\Broadcasting\Broadcaster as BroadcasterContract; -class BroadcastServiceProvider extends ServiceProvider implements DeferrableProvider +class BroadcastServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Bus/BusServiceProvider.php b/src/Illuminate/Bus/BusServiceProvider.php index d41fe6a0b0fb..4f3a3814528a 100644 --- a/src/Illuminate/Bus/BusServiceProvider.php +++ b/src/Illuminate/Bus/BusServiceProvider.php @@ -4,11 +4,12 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Contracts\Bus\Dispatcher as DispatcherContract; use Illuminate\Contracts\Queue\Factory as QueueFactoryContract; use Illuminate\Contracts\Bus\QueueingDispatcher as QueueingDispatcherContract; -class BusServiceProvider extends ServiceProvider implements DeferrableProvider +class BusServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Cache/CacheServiceProvider.php b/src/Illuminate/Cache/CacheServiceProvider.php index 8b6e929d2323..ab74b231a4a7 100755 --- a/src/Illuminate/Cache/CacheServiceProvider.php +++ b/src/Illuminate/Cache/CacheServiceProvider.php @@ -4,8 +4,9 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; +use Illuminate\Contracts\Support\RegistrableProvider; -class CacheServiceProvider extends ServiceProvider implements DeferrableProvider +class CacheServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Contracts/Support/RegistrableProvider.php b/src/Illuminate/Contracts/Support/RegistrableProvider.php new file mode 100644 index 000000000000..9b0e8b79851d --- /dev/null +++ b/src/Illuminate/Contracts/Support/RegistrableProvider.php @@ -0,0 +1,13 @@ +resolveProvider($provider); } - if (method_exists($provider, 'register')) { + if ($provider instanceof RegistrableProvider || method_exists($provider, 'register')) { $provider->register(); } diff --git a/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php b/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php index eaddeb605077..2f0372117c34 100755 --- a/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php +++ b/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php @@ -2,6 +2,7 @@ namespace Illuminate\Foundation\Providers; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Queue\Console\TableCommand; use Illuminate\Auth\Console\AuthMakeCommand; @@ -73,7 +74,7 @@ use Illuminate\Database\Console\Migrations\RefreshCommand as MigrateRefreshCommand; use Illuminate\Database\Console\Migrations\RollbackCommand as MigrateRollbackCommand; -class ArtisanServiceProvider extends ServiceProvider implements DeferrableProvider +class ArtisanServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * The commands to be registered. diff --git a/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php b/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php index 6b05c256d4aa..34f49c392162 100755 --- a/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php +++ b/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php @@ -2,11 +2,12 @@ namespace Illuminate\Foundation\Providers; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\Composer; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; -class ComposerServiceProvider extends ServiceProvider implements DeferrableProvider +class ComposerServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php b/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php index 7028d333c014..c152c73a285c 100644 --- a/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php +++ b/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php @@ -9,16 +9,6 @@ class FormRequestServiceProvider extends ServiceProvider { - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - // - } - /** * Bootstrap the application services. * diff --git a/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php b/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php index fc0088542324..1511a960affc 100644 --- a/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php +++ b/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php @@ -2,11 +2,12 @@ namespace Illuminate\Foundation\Providers; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Http\Request; use Illuminate\Support\Facades\URL; use Illuminate\Support\AggregateServiceProvider; -class FoundationServiceProvider extends AggregateServiceProvider +class FoundationServiceProvider extends AggregateServiceProvider implements RegistrableProvider { /** * The provider class names. diff --git a/src/Illuminate/Hashing/HashServiceProvider.php b/src/Illuminate/Hashing/HashServiceProvider.php index 123b25fa8f0a..7b0f1eb3f779 100755 --- a/src/Illuminate/Hashing/HashServiceProvider.php +++ b/src/Illuminate/Hashing/HashServiceProvider.php @@ -2,10 +2,11 @@ namespace Illuminate\Hashing; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; -class HashServiceProvider extends ServiceProvider implements DeferrableProvider +class HashServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Log/LogServiceProvider.php b/src/Illuminate/Log/LogServiceProvider.php index cd0739211932..7e0dc2cc7f55 100644 --- a/src/Illuminate/Log/LogServiceProvider.php +++ b/src/Illuminate/Log/LogServiceProvider.php @@ -2,9 +2,10 @@ namespace Illuminate\Log; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; -class LogServiceProvider extends ServiceProvider +class LogServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Mail/MailServiceProvider.php b/src/Illuminate/Mail/MailServiceProvider.php index 0f9e0feb969b..ab90e0e06226 100755 --- a/src/Illuminate/Mail/MailServiceProvider.php +++ b/src/Illuminate/Mail/MailServiceProvider.php @@ -2,6 +2,7 @@ namespace Illuminate\Mail; +use Illuminate\Contracts\Support\RegistrableProvider; use Swift_Mailer; use Illuminate\Support\Arr; use Illuminate\Support\Str; @@ -9,7 +10,7 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; -class MailServiceProvider extends ServiceProvider implements DeferrableProvider +class MailServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Notifications/NotificationServiceProvider.php b/src/Illuminate/Notifications/NotificationServiceProvider.php index e8909f4551e0..3763b0619cf2 100644 --- a/src/Illuminate/Notifications/NotificationServiceProvider.php +++ b/src/Illuminate/Notifications/NotificationServiceProvider.php @@ -2,11 +2,12 @@ namespace Illuminate\Notifications; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Notifications\Factory as FactoryContract; use Illuminate\Contracts\Notifications\Dispatcher as DispatcherContract; -class NotificationServiceProvider extends ServiceProvider +class NotificationServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Boot the application services. diff --git a/src/Illuminate/Pagination/PaginationServiceProvider.php b/src/Illuminate/Pagination/PaginationServiceProvider.php index ed58ccf6b985..e50970b25211 100755 --- a/src/Illuminate/Pagination/PaginationServiceProvider.php +++ b/src/Illuminate/Pagination/PaginationServiceProvider.php @@ -2,9 +2,10 @@ namespace Illuminate\Pagination; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; -class PaginationServiceProvider extends ServiceProvider +class PaginationServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Bootstrap any application services. diff --git a/src/Illuminate/Pipeline/PipelineServiceProvider.php b/src/Illuminate/Pipeline/PipelineServiceProvider.php index e0c633e1abd5..847a6d30b5d2 100644 --- a/src/Illuminate/Pipeline/PipelineServiceProvider.php +++ b/src/Illuminate/Pipeline/PipelineServiceProvider.php @@ -2,11 +2,12 @@ namespace Illuminate\Pipeline; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; use Illuminate\Contracts\Pipeline\Hub as PipelineHubContract; -class PipelineServiceProvider extends ServiceProvider implements DeferrableProvider +class PipelineServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Queue/QueueServiceProvider.php b/src/Illuminate/Queue/QueueServiceProvider.php index a20b0bcaf28e..bf7ddca589c5 100755 --- a/src/Illuminate/Queue/QueueServiceProvider.php +++ b/src/Illuminate/Queue/QueueServiceProvider.php @@ -2,6 +2,7 @@ namespace Illuminate\Queue; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\Str; use Opis\Closure\SerializableClosure; use Illuminate\Support\ServiceProvider; @@ -16,7 +17,7 @@ use Illuminate\Queue\Connectors\BeanstalkdConnector; use Illuminate\Queue\Failed\DatabaseFailedJobProvider; -class QueueServiceProvider extends ServiceProvider implements DeferrableProvider +class QueueServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Redis/RedisServiceProvider.php b/src/Illuminate/Redis/RedisServiceProvider.php index 46fe1bc18fed..75e77427b306 100755 --- a/src/Illuminate/Redis/RedisServiceProvider.php +++ b/src/Illuminate/Redis/RedisServiceProvider.php @@ -2,11 +2,13 @@ namespace Illuminate\Redis; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\Arr; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; +use Symfony\Component\HttpFoundation\Exception\RequestExceptionInterface; -class RedisServiceProvider extends ServiceProvider implements DeferrableProvider +class RedisServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Routing/RoutingServiceProvider.php b/src/Illuminate/Routing/RoutingServiceProvider.php index 8eea5ca5ecea..246e93311a5f 100755 --- a/src/Illuminate/Routing/RoutingServiceProvider.php +++ b/src/Illuminate/Routing/RoutingServiceProvider.php @@ -2,6 +2,7 @@ namespace Illuminate\Routing; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Psr\Http\Message\ResponseInterface; use Zend\Diactoros\Response as PsrResponse; @@ -11,7 +12,7 @@ use Illuminate\Contracts\Routing\ResponseFactory as ResponseFactoryContract; use Illuminate\Routing\Contracts\ControllerDispatcher as ControllerDispatcherContract; -class RoutingServiceProvider extends ServiceProvider +class RoutingServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Session/SessionServiceProvider.php b/src/Illuminate/Session/SessionServiceProvider.php index c858506240cd..3ead7c6e3985 100755 --- a/src/Illuminate/Session/SessionServiceProvider.php +++ b/src/Illuminate/Session/SessionServiceProvider.php @@ -2,10 +2,11 @@ namespace Illuminate\Session; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Session\Middleware\StartSession; -class SessionServiceProvider extends ServiceProvider +class SessionServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Support/AggregateServiceProvider.php b/src/Illuminate/Support/AggregateServiceProvider.php index d7425c5c2586..02bc78f5a01f 100644 --- a/src/Illuminate/Support/AggregateServiceProvider.php +++ b/src/Illuminate/Support/AggregateServiceProvider.php @@ -2,7 +2,9 @@ namespace Illuminate\Support; -class AggregateServiceProvider extends ServiceProvider +use Illuminate\Contracts\Support\RegistrableProvider; + +class AggregateServiceProvider extends ServiceProvider implements RegistrableProvider { /** * The provider class names. diff --git a/src/Illuminate/Translation/TranslationServiceProvider.php b/src/Illuminate/Translation/TranslationServiceProvider.php index dea13c2cbb1a..b865d1869f0f 100755 --- a/src/Illuminate/Translation/TranslationServiceProvider.php +++ b/src/Illuminate/Translation/TranslationServiceProvider.php @@ -2,10 +2,11 @@ namespace Illuminate\Translation; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; -class TranslationServiceProvider extends ServiceProvider implements DeferrableProvider +class TranslationServiceProvider extends ServiceProvider implements DeferrableProvider, RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/Validation/ValidationServiceProvider.php b/src/Illuminate/Validation/ValidationServiceProvider.php index 0228ad64d61d..e08f3620416c 100755 --- a/src/Illuminate/Validation/ValidationServiceProvider.php +++ b/src/Illuminate/Validation/ValidationServiceProvider.php @@ -2,10 +2,11 @@ namespace Illuminate\Validation; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\Support\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; -class ValidationServiceProvider extends ServiceProvider implements DeferrableProvider +class ValidationServiceProvider extends ServiceProvider implements DeferrableProvider , RegistrableProvider { /** * Register the service provider. diff --git a/src/Illuminate/View/ViewServiceProvider.php b/src/Illuminate/View/ViewServiceProvider.php index fa88136a71b8..bb786bab04b8 100755 --- a/src/Illuminate/View/ViewServiceProvider.php +++ b/src/Illuminate/View/ViewServiceProvider.php @@ -2,6 +2,7 @@ namespace Illuminate\View; +use Illuminate\Contracts\Support\RegistrableProvider; use Illuminate\View\Engines\PhpEngine; use Illuminate\Support\ServiceProvider; use Illuminate\View\Engines\FileEngine; @@ -9,7 +10,7 @@ use Illuminate\View\Engines\EngineResolver; use Illuminate\View\Compilers\BladeCompiler; -class ViewServiceProvider extends ServiceProvider +class ViewServiceProvider extends ServiceProvider implements RegistrableProvider { /** * Register the service provider.