for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types = 1);
/**
* Created by PhpStorm.
* User: root
* Date: 02.08.16
* Time: 0:46.
*/
namespace samsonframework\container\definition;
use samsonframework\container\definition\reference\ReferenceInterface;
use samsonframework\container\definition\reference\UndefinedReference;
* Class AbstractPropertyDefinition
*
* @author Ruslan Molodyko <[email protected]>
abstract class AbstractPropertyDefinition extends AbstractDefinition
{
/** @var ReferenceInterface */
protected $dependency;
/** {@inheritdoc} */
public function __construct(AbstractDefinition $parentDefinition = null)
parent::__construct($parentDefinition);
// For each new dependency classes set undefined reference as dependency has not resolved yet
// Undefined reference equivalent to null reference
$this->dependency = new UndefinedReference();
}
* @param ReferenceInterface $dependency
* @return AbstractPropertyDefinition
public function setDependency(ReferenceInterface $dependency): AbstractPropertyDefinition
$this->dependency = $dependency;
return $this;
* @return ReferenceInterface
public function getDependency(): ReferenceInterface
return $this->dependency;