/** * @param DocumentManager $dm * @param string $documentName * @param SpecificationVisitorFactoryInterface $specificationVisitorFactory * @param ComparatorVisitorFactoryInterface $comparatorVisitorFactory */ public function __construct(DocumentManager $dm, $documentName = null, SpecificationVisitorFactoryInterface $specificationVisitorFactory = null, ComparatorVisitorFactoryInterface $comparatorVisitorFactory = null) { parent::__construct($dm, $documentName); if ($specificationVisitorFactory === null) { $specificationVisitorFactory = new SpecificationVisitorFactory(); } if ($comparatorVisitorFactory === null) { $comparatorVisitorFactory = new ComparatorVisitorFactory(); } $this->specificationVisitorFactory = $specificationVisitorFactory; $this->comparatorVisitorFactory = $comparatorVisitorFactory; $this->factory = Delegate::fromClosure(function () use($dm, $documentName) { return new static($dm, $documentName); }); }
/** * Object's constructor * * @param DocumentManager $dm * @param Cmd $cmd * @param string $documentName */ public function __construct(DocumentManager $dm, $cmd, $documentName = null) { $this->documentName = is_array($documentName) ? current($documentName) : $documentName; parent::__construct($dm, $cmd, $documentName); }