From 120fe49b751851d2aca2d7868fd4588885577b57 Mon Sep 17 00:00:00 2001 From: Lucas Michot Date: Tue, 30 Sep 2014 16:24:27 +0200 Subject: [PATCH] Fix 5925 --- src/Illuminate/Container/Container.php | 13 ++++++++----- tests/Container/ContainerTest.php | 14 ++++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Illuminate/Container/Container.php b/src/Illuminate/Container/Container.php index 0aabbd26c330..b2edad367ebe 100755 --- a/src/Illuminate/Container/Container.php +++ b/src/Illuminate/Container/Container.php @@ -523,25 +523,28 @@ public function call($callback, array $parameters = array(), $defaultMethod = nu return $this->callClass($callback, $parameters, $defaultMethod); } - $dependencies = $this->getMethodDependencies($callback,$parameters); + $dependencies = $this->getMethodDependencies($callback, $parameters); return call_user_func_array($callback, $dependencies); } /** - * Get all dependencies for a given method + * Get all dependencies for a given method. + * * @param \Closure|array $callback * @param array $parameters * @return array */ - protected function getMethodDependencies($callback,$parameters = array()) { + protected function getMethodDependencies($callback, $parameters = []) + { $dependencies = []; + foreach ($this->getCallReflector($callback)->getParameters() as $key => $parameter) { $dependencies[] = $this->getDependencyForCallParameter($parameter, $parameters); } - return array_merge($dependencies,$parameters); + return array_merge($dependencies, $parameters); } /** @@ -612,7 +615,7 @@ protected function callClass($target, array $parameters = array(), $defaultMetho // received in this method into this listener class instance's methods. $callable = array($this->make($segments[0]), $method); - $dependencies = $this->getMethodDependencies($callable,$parameters); + $dependencies = $this->getMethodDependencies($callable, $parameters); return call_user_func_array($callable, $dependencies); } diff --git a/tests/Container/ContainerTest.php b/tests/Container/ContainerTest.php index 87ee3c354b51..2743bf50b585 100755 --- a/tests/Container/ContainerTest.php +++ b/tests/Container/ContainerTest.php @@ -380,13 +380,13 @@ public function testCallWithAtSignBasedClassReferences() $container = new Container; $result = $container->call('ContainerTestCallStub@inject'); - $this->assertInstanceOf('ContainerConcreteStub',$result[0]); - $this->assertEquals('taylor',$result[1]); + $this->assertInstanceOf('ContainerConcreteStub', $result[0]); + $this->assertEquals('taylor', $result[1]); $container = new Container; - $result = $container->call('ContainerTestCallStub@inject',['default'=>'foo']); - $this->assertInstanceOf('ContainerConcreteStub',$result[0]); - $this->assertEquals('foo',$result[1]); + $result = $container->call('ContainerTestCallStub@inject', ['default' => 'foo']); + $this->assertInstanceOf('ContainerConcreteStub', $result[0]); + $this->assertEquals('foo', $result[1]); $container = new Container; $result = $container->call('ContainerTestCallStub', ['foo', 'bar'], 'work'); @@ -510,7 +510,9 @@ class ContainerTestCallStub { public function work() { return func_get_args(); } - public function inject(ContainerConcreteStub $stub,$default = 'taylor') { + + public function inject(ContainerConcreteStub $stub, $default = 'taylor') + { return func_get_args(); } }