Neon a services, konfigurace doctrine2
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- besir
- Člen | 170
Ahoj,
pohravam si s neonem a chtěl jsem přenést nastavení doctrine do neonu.
Nějak se mi to ale nedaří, do teď jsem se mu spíš vyhýbal…
Potřeboval bych něco takového:
$doctrineConfig = new \Doctrine\ORM\Configuration;
$metadata = $doctrineConfig->newDefaultAnnotationDriver(APP_DIR);
$doctrineConfig->setMetadataDriverImpl($metadata);
v neonu mam toto:
doctrine:
class: \Doctrine\ORM\Configuration
setup:
- $annotationDriver(::newDefaultAnnotationDriver(APP_DIR))
- setMetadataDriverImpl(::$annotationDriver)
a vystup z neonu je toto:
$service = new \Doctrine\ORM\Configuration;
if (!$service instanceof Doctrine\ORM\Configuration) {
throw new Nette\UnexpectedValueException('Unable to create service \'doctrine\', value returned by factory is not Doctrine\\ORM\\Configuration type.');
}
$service->annotationDriver = newDefaultAnnotationDriver('APP_DIR');
$service->setMetadataDriverImpl('::$annotationDriver');
return $service;
Tedy otazka zni… jak u APP_DIR zlikvidovat apostrofy, a jak do setMetadataDriverImpl() dostat $service->annotationDriver.
Díky za help :-)
Editoval besir (1. 11. 2012 21:33)
- Filip Procházka
- Moderator | 4668
Pokud budu čistě chtít převést ty tři řádky co jsi uvedl
services:
doctrineConfig:
class: Doctrine\ORM\Configuration
setup:
- setMetadataDriverImpl(@self::newDefaultAnnotationDriver(::constant(APP_DIR)))