Ich bin gerade mit der Doctrine 2 Zeug arbeiten und landete auf der Doctrine Module für Validierungen wie ObjectExists.php
y NoObjectExists.php
.
Meine Frage ist, dass aus dem ursprünglichen Code, der gefunden werden kann aquí .
/**
* Constructor
*
* @param array $options required keys are `object_repository`, which must be an instance of
* Doctrine\Common\Persistence\ObjectRepository, and `fields`, with either
* a string or an array of strings representing the fields to be matched by the validator.
* @throws \Zend\Validator\Exception\InvalidArgumentException
*/
public function __construct(array $options)
{
if (!isset($options['object_repository']) || !$options['object_repository'] instanceof ObjectRepository) {
if (!array_key_exists('object_repository', $options)) {
$provided = 'nothing';
} else {
if (is_object($options['object_repository'])) {
$provided = get_class($options['object_repository']);
} else {
$provided = getType($options['object_repository']);
}
}
throw new Exception\InvalidArgumentException(sprintf(
'Option "object_repository" is required and must be an instance of'
. ' Doctrine\Common\Persistence\ObjectRepository, %s given',
$provided
));
}
$this->objectRepository = $options['object_repository'];
if (!isset($options['fields'])) {
throw new Exception\InvalidArgumentException(
'Key `fields` must be provided and be a field or a list of fields to be used when searching for'
. ' existing instances'
);
}
$this->fields = $options['fields'];
$this->validateFields();
parent::__construct($options);
}
Ich kann nicht verstehen, dass es hier erwähnt wird _" $options
Die erforderlichen Schlüssel sind object_repository
sein, die eine Instanz von Doctrine\Common\Persistence\ObjectRepository
"_
Seit Doctrine\Common\Persistence\ObjectRepository
eine Schnittstelle ist, wie soll ich diese Aussage entschlüsseln?
Oder anders gesagt, wie kann ich diesen Konstruktor von ObjectsExists
Klasse und übergeben object_repository
sein, die eine Instanz von Doctrine\Common\Persistence\ObjectRepository
?
Kann jemand etwas Licht auf diese, ich bin immer in dieses Zeug, so nicht hart sein auf meine Frage.
Gracias