laravel/framework — pull request #3219 by weotch (2014-01-13 22:20:25+00:00)
Title: Prevent multiple register() / boot() calls on service providers used by multiple packages

Currently, if two packages have a dependency on the same package and they use `Illuminate\Foundation\Application->register()` to register the service provider for that dependency, the dependency's service provider gets instantiated twice. For example, PackageA and PackageB both make use of PackageC. I believe PackageC's service provider should only be registered and booted once.

This pull request adds a check to make sure service providers haven't already been loaded before instantiating a new instance of a service provider.