18 private $useAutoload =
true;
28 $repositoryClassNames = [];
30 $dom = new \DOMDocument();
32 $xpath = new \DOMXPath($dom);
34 foreach ($xpath->query(
'//preference') as $node) {
35 $forType = $node->attributes->getNamedItem(
'for');
36 $replacementType = $node->attributes->getNamedItem(
'type');
38 && $replacementType !==
null 39 && (substr($forType->nodeValue, -19) ==
'RepositoryInterface')
42 && !AutoloaderRegistry::getAutoloader()->loadClass($replacementType->nodeValue)) {
43 $persistor = str_replace(
'\\Repository',
'InterfacePersistor', $replacementType->nodeValue);
44 $factory = str_replace(
'\\Repository',
'InterfaceFactory', $replacementType->nodeValue);
46 = str_replace(
'\\Repository',
'SearchResultInterfaceFactory', $replacementType->nodeValue);
47 $repositoryClassNames[$persistor] = $persistor;
49 $repositoryClassNames[$searchResultFactory] = $searchResultFactory;
50 $repositoryClassNames[$replacementType->nodeValue] = $replacementType->nodeValue;
55 return $repositoryClassNames;
66 $this->useAutoload = $useAutoload;
collectEntities(array $files)
setUseAutoload($useAutoload)
foreach($appDirs as $dir) $files