@@ -767,25 +767,11 @@ public function registerDeferredProvider($provider, $service = null)
767
767
*/
768
768
public function make ($ abstract , array $ parameters = [])
769
769
{
770
- $ abstract = $ this ->getAlias ($ abstract );
771
-
772
- $ this ->loadDeferredProviderIfNeeded ($ abstract );
770
+ $ this ->loadDeferredProviderIfNeeded ($ abstract = $ this ->getAlias ($ abstract ));
773
771
774
772
return parent ::make ($ abstract , $ parameters );
775
773
}
776
774
777
- /**
778
- * Load deferred provider if $abstract is deferred service and instance was not loaded.
779
- *
780
- * @param string $abstract
781
- */
782
- private function loadDeferredProviderIfNeeded ($ abstract )
783
- {
784
- if ($ this ->isDeferredService ($ abstract ) && ! isset ($ this ->instances [$ abstract ])) {
785
- $ this ->loadDeferredProvider ($ abstract );
786
- }
787
- }
788
-
789
775
/**
790
776
* Resolve the given type from the container.
791
777
*
@@ -798,13 +784,24 @@ private function loadDeferredProviderIfNeeded($abstract)
798
784
*/
799
785
protected function resolve ($ abstract , $ parameters = [], $ raiseEvents = true )
800
786
{
801
- $ abstract = $ this ->getAlias ($ abstract );
802
-
803
- $ this ->loadDeferredProviderIfNeeded ($ abstract );
787
+ $ this ->loadDeferredProviderIfNeeded ($ abstract = $ this ->getAlias ($ abstract ));
804
788
805
789
return parent ::resolve ($ abstract , $ parameters , $ raiseEvents );
806
790
}
807
791
792
+ /**
793
+ * Load the deferred provider if the given type is a deferred service and the instance has not been loaded.
794
+ *
795
+ * @param string $abstract
796
+ * @return void
797
+ */
798
+ protected function loadDeferredProviderIfNeeded ($ abstract )
799
+ {
800
+ if ($ this ->isDeferredService ($ abstract ) && ! isset ($ this ->instances [$ abstract ])) {
801
+ $ this ->loadDeferredProvider ($ abstract );
802
+ }
803
+ }
804
+
808
805
/**
809
806
* Determine if the given abstract type has been bound.
810
807
*
0 commit comments