for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Sensorario\Container\Resolver;
use ReflectionClass;
use Sensorario\Container\ArgumentBuilder;
use Sensorario\Container\Objects\Service;
class MethodResolver
{
private $instances = array();
private $builder;
public function setArgumentBuilder(ArgumentBuilder $builder)
$this->builder = $builder;
}
public function resolve(Service $service)
$this->builder->setParams($service->getParams());
$this->arguments = $this->builder->getArguments();
arguments
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
if (!isset($this->instances[$service->getName()])) {
$refObj = new ReflectionClass($service->getClass());
$this->instances[$service->getName()] = $refObj->newInstanceArgs($this->arguments);
return $this->instances[$service->getName()];
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: