/** * Initialise. * * Runs at plugin init time. * * @return void */ public function initialize() { $autoloader = new Zikula_KernelClassLoader(); $autoloader->spl_autoload_register(); $autoloader->register('Gedmo', __DIR__ . '/lib/vendor/l3pp4rd/DoctrineExtensions/lib', '\\'); $autoloader->register('DoctrineExtensions\\StandardFields', __DIR__ . '/lib', '\\'); $autoloader->register('DoctrineExtensions', __DIR__ . '/lib/vendor/beberlei/DoctrineExtensions/lib', '\\'); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Gedmo', __DIR__ . '/lib/vendor/l3pp4rd/DoctrineExtensions/lib'); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('DoctrineExtensions\\StandardFields', __DIR__ . '/lib'); include 'ExtensionsManager.php'; $definition = new Zikula_ServiceManager_Definition('SystemPlugins_DoctrineExtensions_ExtensionsManager', array(new Zikula_ServiceManager_Reference('doctrine.eventmanager'), new Zikula_ServiceManager_Reference('zikula.servicemanager'))); $this->serviceManager->registerService('doctrine_extensions', $definition); $types = array('Loggable', 'Sluggable', 'Timestampable', 'Translatable', 'Tree', 'Sortable'); foreach ($types as $type) { // The listener for Translatable is incorrectly named TranslationListener if ($type != "Translatable") { $definition = new Zikula_ServiceManager_Definition("Gedmo\\$type\\{$type}Listener"); } else { $definition = new Zikula_ServiceManager_Definition("Gedmo\\Translatable\\TranslationListener"); } $this->serviceManager->registerService(strtolower("doctrine_extensions.listener.$type"), $definition); } $definition = new Zikula_ServiceManager_Definition("DoctrineExtensions\\StandardFields\\StandardFieldsListener"); $this->serviceManager->registerService(strtolower("doctrine_extensions.listener.standardfields"), $definition); }
public function initialize() { return; // register symfony validation annorations Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Symfony\\Component\\Validator\\Constraints', __DIR__ . '/../../vendor/symfony/src'); // register validator service $fileLocator = new FileLocator(array(__DIR__ . '/Resources/config/validator.xml')); $xmlFileLoader = new XmlFileLoader($this->container->get('service_container'), $fileLocator); $xmlFileLoader->load(__DIR__ . '/Resources/config/validator.xml'); // setup symfony forms $registry = new \Zikula\Core\Forms\DoctrineRegistryImpl(); $csrf = new \Symfony\Component\Form\Extension\Csrf\CsrfExtension(new \Zikula\Core\Forms\ZikulaCsrfProvider()); $core = new \Symfony\Component\Form\Extension\Core\CoreExtension(); $validator = new \Symfony\Component\Form\Extension\Validator\ValidatorExtension($this->container->get("validator")); $zk = new \Zikula\Core\Forms\ZikulaExtension(); $doctrine = new \Symfony\Bridge\Doctrine\Form\DoctrineOrmExtension($registry); $formFactory = new \Symfony\Component\Form\FormFactory(array($core, $csrf, $validator, $zk, $doctrine)); $this->container->set('symfony.formfactory', $formFactory); $formRenderer = new \Zikula\Core\Forms\FormRenderer($this->dispatcher); $this->container->set('symfony.formrenderer', $formRenderer); }
/** * Initialise. * * Runs at plugin init time. * * @return void */ public function initialize() { $autoloader = new UniversalClassLoader(); $autoloader->register(); $autoloader->register('DoctrineExtensions\\StandardFields', __DIR__ . '/lib'); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Gedmo', dirname(__DIR__) . '/../vendor/gedmo/doctrine-extensions/lib'); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('DoctrineExtensions\\StandardFields', __DIR__ . '/lib'); include 'ExtensionsManager.php'; $definition = new Definition('SystemPlugins_DoctrineExtensions_ExtensionsManager', array(new Reference('doctrine.eventmanager'), new Reference('service_container'))); $this->container->setDefinition('doctrine_extensions', $definition); $types = array('Loggable', 'Sluggable', 'Timestampable', 'Translatable', 'Tree', 'Sortable'); foreach ($types as $type) { // The listener for Translatable is incorrectly named TranslationListener if ($type != "Translatable") { $definition = new Definition("Gedmo\\{$type}\\{$type}Listener"); } else { $definition = new Definition("Gedmo\\Translatable\\TranslationListener"); } $this->container->setDefinition(strtolower("doctrine_extensions.listener.{$type}"), $definition); } $definition = new Definition("DoctrineExtensions\\StandardFields\\StandardFieldsListener"); $this->container->setDefinition(strtolower("doctrine_extensions.listener.standardfields"), $definition); }
<?php require_once __DIR__ . "/../../../../vendor/autoload.php"; // register annotations of jms serializer and doctrine Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('JMS\\Serializer\\Annotation', __DIR__ . '/../../../../vendor/jms/serializer/src'); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Doctrine\\Search\\Mapping\\Annotations', __DIR__ . '/../vendor/doctrine/search/lib');
<?php $loader = (require_once __DIR__ . '/../vendor/autoload.php'); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('JMS\\Serializer\\Annotation', __DIR__ . '/../vendor/jms/serializer/src'); $app = new Domora\TvGuide\Application(); umask(00); $app->loadRoutes(); $app->run();
<?php // Tests/bootstrap.php $loader = @(include __DIR__ . '/../vendor/.composer/autoload.php'); if (!$loader) { die(<<<'EOT' You must set up the project dependencies, run the following commands: wget http://getcomposer.org/composer.phar php composer.phar install EOT ); } use Doctrine\Common\ClassLoader; $classLoader = new ClassLoader('Doctrine\\Tests', __DIR__ . '/../tests'); $classLoader->register(); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Doctrine\\ODM\\CouchDB\\Mapping\\Annotations', __DIR__ . '/../lib');
/** * Init doctrine method * * @return Shopware\Components\Model\ModelManager */ public function initModels() { /** @var $config \Doctrine\ORM\Configuration */ $config = $this->getResource('ModelConfig'); $cacheResource = $this->getResource('Cache'); // Check if native Doctrine ApcCache may be used if ($cacheResource->getBackend() instanceof Zend_Cache_Backend_Apc) { $cache = new Doctrine\Common\Cache\ApcCache(); } else { $cache = new Shopware\Components\Model\Cache($cacheResource); } // register standard doctrine annotations Doctrine\Common\Annotations\AnnotationRegistry::registerFile( 'Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php' ); // register symfony validation annotions Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace( 'Symfony\Component\Validator\Constraint' ); // register gedmo annotions Doctrine\Common\Annotations\AnnotationRegistry::registerFile( 'Gedmo/Mapping/Annotation/All.php' ); $cachedAnnotationReader = new Doctrine\Common\Annotations\CachedReader( new Doctrine\Common\Annotations\AnnotationReader, $cache ); $annotationDriver = new Doctrine\ORM\Mapping\Driver\AnnotationDriver( $cachedAnnotationReader, array( $this->Application()->Loader()->isReadable('Gedmo/Tree/Entity/MappedSuperclass'), $this->Application()->AppPath('Models') )); // create a driver chain for metadata reading $driverChain = new Doctrine\ORM\Mapping\Driver\DriverChain(); // register annotation driver for our application $driverChain->addDriver($annotationDriver, 'Gedmo'); $driverChain->addDriver($annotationDriver, 'Shopware\\Models\\'); $driverChain->addDriver($annotationDriver, 'Shopware\\CustomModels\\'); $this->registerResource('ModelAnnotations', $annotationDriver); $config->setMetadataDriverImpl($driverChain); // Create event Manager $eventManager = new \Doctrine\Common\EventManager(); $treeListener = new Gedmo\Tree\TreeListener; $treeListener->setAnnotationReader($cachedAnnotationReader); $eventManager->addEventSubscriber($treeListener); // Create new shopware event subscriber to handle the entity lifecycle events. $liveCycleSubscriber = new \Shopware\Components\Model\EventSubscriber( $this->Application()->Events() ); $eventManager->addEventSubscriber($liveCycleSubscriber); // now create the entity manager and use the connection // settings we defined in our application.ini $conn = \Doctrine\DBAL\DriverManager::getConnection( array('pdo' => $this->Application()->Db()->getConnection()), $config, $eventManager ); $entityManager = Shopware\Components\Model\ModelManager::create($conn, $config, $eventManager); //if (!is_readable(rtrim($config->getProxyDir(), '/') . '/__CG__ShopwareModelsShopShop.php')) { // $metadata = $entityManager->getMetadataFactory()->getAllMetadata(); // $proxyFactory = $entityManager->getProxyFactory(); // $proxyFactory->generateProxyClasses($metadata); //} return $entityManager; }
private static function newConnect() { $dir = __DIR__ . '/../../libs/Doctrine/'; $vendorPath = realpath($dir); $ExtensionPath = realpath($dir . '/DoctrineExtensions'); require_once $vendorPath . '/Doctrine/Common/ClassLoader.php'; // autoload all vendors $loader = new Doctrine\Common\ClassLoader('Doctrine\\Common', $vendorPath); $loader->register(); $loader = new Doctrine\Common\ClassLoader('Doctrine\\DBAL', $vendorPath); $loader->register(); $loader = new Doctrine\Common\ClassLoader('Doctrine\\ORM', $vendorPath); $loader->register(); // gedmo extensions $loader = new Doctrine\Common\ClassLoader('Gedmo', $ExtensionPath); $loader->register(); // Pagefanta $classLoader = new Doctrine\Common\ClassLoader("Pagerfanta", $ExtensionPath); $classLoader->register(); //MYSQL Functions $classLoader = new \Doctrine\Common\ClassLoader('DoctrineExtensions', realpath($dir)); $classLoader->register(); // autoloader for Entity namespace $loader = new Doctrine\Common\ClassLoader('Entities', $dir); $loader->register(); // ensure standard doctrine annotations are registered Doctrine\Common\Annotations\AnnotationRegistry::registerFile($vendorPath . '/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'); // Second configure ORM // globally used cache driver $cache = new Doctrine\Common\Cache\ArrayCache(); $reader = new \Doctrine\Common\Annotations\AnnotationReader(); Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Gedmo\\Mapping\\Annotation', $ExtensionPath); $driverChain = new \Doctrine\ORM\Mapping\Driver\DriverChain(); $annotationDriver = new Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, array($dir . 'Entities', $ExtensionPath . '/Gedmo/Tree/Entity')); // drivers $driverChain->addDriver($annotationDriver, 'Gedmo\\Tree\\Entity'); $driverChain->addDriver($annotationDriver, 'Entities'); // general ORM configuration $config = new Doctrine\ORM\Configuration(); //$config->setProxyDir(sys_get_temp_dir()); $config->setProxyDir($dir . '/Proxies'); $config->setProxyNamespace('Proxy'); $config->setAutoGenerateProxyClasses(true); // this can be based on production config. FALSE // register metadata driver $config->setMetadataDriverImpl($driverChain); // use our allready initialized cache driver $config->setMetadataCacheImpl($cache); $config->setQueryCacheImpl($cache); // Third, create event manager and hook prefered extension listeners $evm = new Doctrine\Common\EventManager(); // gedmo extension listeners // tree $treeListener = new Gedmo\Tree\TreeListener(); $treeListener->setAnnotationReader($reader); $evm->addEventSubscriber($treeListener); // timestampable $timestampableListener = new Gedmo\Timestampable\TimestampableListener(); $timestampableListener->setAnnotationReader($reader); $evm->addEventSubscriber($timestampableListener); // mysql set names UTF-8 if required $evm->addEventSubscriber(new Doctrine\DBAL\Event\Listeners\MysqlSessionInit()); // Finally, create entity manager $connection = array('dbname' => DB_DATABASE, 'user' => DB_USER, 'password' => DB_PASSWORD, 'host' => DB_HOST, 'driver' => 'pdo_mysql'); $config->addCustomDatetimeFunction('YEAR', 'DoctrineExtensions\\Query\\Mysql\\Year'); $config->addCustomDatetimeFunction('MONTH', 'DoctrineExtensions\\Query\\Mysql\\Month'); $config->addCustomDatetimeFunction('DAY', 'DoctrineExtensions\\Query\\Mysql\\Day'); $config->addCustomDatetimeFunction('HOUR', 'DoctrineExtensions\\Query\\Mysql\\Hour'); $config->addCustomDatetimeFunction('DATE', 'DoctrineExtensions\\Query\\Mysql\\Date'); $config->addCustomDatetimeFunction('DATEDIFF', 'DoctrineExtensions\\Query\\MySql\\DateDiff'); try { $em = Doctrine\ORM\EntityManager::create($connection, $config, $evm); } catch (Exception $e) { } self::$EntityManager = $em; }