123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- return array(
- /*
- |--------------------------------------------------------------------------
- | Inversion of Control Container
- |--------------------------------------------------------------------------
- |
- | Here you may define resolvers for the Laravel inversion of control (IoC)
- | container. An IoC container provides the ability to create more flexible
- | and testable applications, as well as a convenient method of managing
- | the instantiation of complex objects.
- |
- | To register a resolver in the container, simple create add an item to
- | the array for the object with a closure that returns an instance of
- | the object.
- |
- | For example, here's how to register a resolver for a Mailer class:
- |
- | 'mailer' => function($c)
- | {
- | return new Mailer($sender, $key);
- | }
- |
- | Note that the container instance itself is passed into the resolver,
- | allowing you to continue to resolve dependencies within the resolver
- | itself. This allows you to easily resolve nested dependencies.
- |
- | When creating controller instances, Laravel will check to see if a
- | resolver has been registered for the controller. If it has, it will
- | be used to create the controller instance. All controller resolvers
- | should be registered beginning using a {controllers}.{name} naming
- | convention. For example:
- |
- | 'controllers.user' => function($c)
- | {
- | return new User_Controller($c->resolve('repository'));
- | }
- |
- | Of course, sometimes you may wish to register an object as a singleton
- | Singletons are resolved by the controller the first time they are
- | resolved; however, that same resolved instance will continue to be
- | returned by the container each time it is requested. Registering an
- | object as a singleton couldn't be simpler:
- |
- | 'mailer' => array('singleton' => true, 'resolver' => function($c)
- | {
- | return new Mailer($sender, $key);
- | })
- |
- */
- );
|