/** * Connect to MongoDb * @return DocumentManager */ public function _initDb() { $container = $this; $this['documentManager'] = $this->share(function () use($container) { $dbConfigs = $container['configs']['database']; try { if (empty($dbConfigs['user'])) { $connection_url = "mongodb://{$dbConfigs['host']}:{$dbConfigs['port']}/{$dbConfigs['name']}"; } else { $connection_url = "mongodb://{$dbConfigs['user']}:{$dbConfigs['passwd']}@{$dbConfigs['host']}:{$dbConfigs['port']}/{$dbConfigs['name']}"; } AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setProxyDir(BIN_PATH . '/src/Blueridge/Documents/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(BIN_PATH . '/src/Blueridge/Documents/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(BIN_PATH . '/src/Blueridge/Documents')); $config->setDefaultDB($dbConfigs['name']); return DocumentManager::create(new Connection($connection_url), $config); } catch (Exception $e) { error_log($e->getMessage()); } }); }
/** * @return DocumentManager */ protected function createDocumentManager($server) { AnnotationDriver::registerAnnotationClasses(); $configuration = new Configuration(); $configuration->setProxyDir(sys_get_temp_dir()); $configuration->setProxyNamespace('Proxies'); $configuration->setHydratorDir(sys_get_temp_dir()); $configuration->setHydratorNamespace('Hydrators'); $configuration->setMetadataDriverImpl(AnnotationDriver::create()); return DocumentManager::create(new Connection($server), $configuration); }
/** * Creates the doctrine document mananger for working on the database * * @return DocumentManager */ protected function createDocumentManager() { AnnotationDriver::registerAnnotationClasses(); $configuration = new Configuration(); $configuration->setProxyDir($this->configuration['doctrine']['proxyDir']); $configuration->setProxyNamespace($this->configuration['doctrine']['proxyNamespace']); $configuration->setHydratorDir($this->configuration['doctrine']['hydratorDir']); $configuration->setHydratorNamespace($this->configuration['doctrine']['hydratorNamespace']); $configuration->setMetadataDriverImpl(AnnotationDriver::create()); return DocumentManager::create(new Connection($this->configuration['doctrine']['connection']['server']), $configuration); }
/** * Get configuration of database * @param String $dataBaseName * @return array */ private function getConn() { AnnotationDriver::registerAnnotationClasses(); $conn = (require self::$dir); $dataBase = (object) $conn['mongodb']; $config = new Configuration(); $config->setProxyDir($dataBase->proxy['dir']); $config->setProxyNamespace($dataBase->proxy['namespace']); $config->setHydratorDir($dataBase->hydrator['dir']); $config->setHydratorNamespace($dataBase->hydrator['namespace']); $config->setMetadataDriverImpl(AnnotationDriver::create($dataBase->entityDir)); }
public function __construct() { AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setProxyDir(app_path() . '/storage/cache/Doctrine/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(app_path() . '/storage/cache/Doctrine/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(app_path() . '/app/Model/Entity')); $config->setDefaultDB(config('database.db_name')); parent::__construct(new Connection(\Config::get('database.host')), $config); }
/** * @param array $params * @return mixed */ public function produce(array $params = array()) { $configuration = new Configuration(); $configuration->setProxyDir($params['proxy_dir']); $configuration->setProxyNamespace($params['proxy_namespace']); $configuration->setHydratorDir($params['hydrator_dir']); $configuration->setHydratorNamespace($params['hydrator_namespace']); $configuration->setDefaultDB($params['default_db']); $configuration->setMetadataDriverImpl(AnnotationDriver::create($params['document_dir'])); AnnotationDriver::registerAnnotationClasses(); return $configuration; }
public static function create(Connection $conn = null, Configuration $config = null, EventManager $eventManager = null) { if (is_null($config)) { $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setProxyDir(__DIR__ . '/../Proxies'); $config->setProxyNamespace('Doctrine\\Tests\\Proxies'); $config->setHydratorDir(__DIR__ . '/../Hydrators'); $config->setHydratorNamespace('Doctrine\\Tests\\Hydrators'); $config->setMetadataDriverImpl(\Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::create()); } if (is_null($eventManager)) { $eventManager = new \Doctrine\Common\EventManager(); } return new DocumentManagerMock($conn, $config, $eventManager); }
public function setUp() { $this->app()->bind(EntityManagerInterface::class, function () { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/Entities/Proxies'); $config->setProxyNamespace('Tests\\Proxy'); $config->setHydratorDir(__DIR__ . '/Entities/Hydrators'); $config->setHydratorNamespace('Tests\\Hydrators'); $config->setDefaultDB('test-base-api-php'); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Entities/Stubs')); $connection = new Connection(); AnnotationDriver::registerAnnotationClasses(); return EntityManager::create($connection, $config); }); }
public function register(Application $app) { $app['mongo.dm'] = $app->share(function () { AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setDefaultDB('descartemap'); $config->setProxyDir(ROOT . '/var/proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(ROOT . '/var/hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(ROOT . '/var/cache/')); $dm = DocumentManager::create(new Connection(), $config); return $dm; }); }
private function loadDoctrineMongoDBConfiguration(Application $app) { $app['doctrine.odm.mongodb.configuration'] = $app->share(function () use($app) { $config = new Configuration(); $config->setMetadataCacheImpl($app['doctrine.odm.mongodb.metadata_cache']); if (isset($app['doctrine.odm.mongodb.connection_options']['database'])) { $config->setDefaultDB($app['doctrine.odm.mongodb.connection_options']['database']); } $chain = new MappingDriverChain(); $usingAnnotations = false; foreach ((array) $app['doctrine.odm.mongodb.documents'] as $document) { switch ($document['type']) { case 'annotation': $driver = AnnotationDriver::create((array) $document['path']); $chain->addDriver($driver, $document['namespace']); $usingAnnotations = true; break; case 'yml': $driver = new YamlDriver((array) $document['path'], '.yml'); $chain->addDriver($driver, $document['namespace']); break; case 'xml': $driver = new XmlDriver((array) $document['path'], '.xml'); $chain->addDriver($driver, $document['namespace']); break; default: throw new \InvalidArgumentException(sprintf('"%s" is not a recognized driver', $document['type'])); break; } // add namespace alias if (isset($document['alias'])) { $config->addDocumentNamespace($document['alias'], $document['namespace']); } } if ($usingAnnotations) { AnnotationDriver::registerAnnotationClasses(); } $config->setMetadataDriverImpl($chain); $config->setProxyDir($app['doctrine.odm.mongodb.proxies_dir']); $config->setProxyNamespace($app['doctrine.odm.mongodb.proxies_namespace']); $config->setAutoGenerateProxyClasses($app['doctrine.odm.mongodb.auto_generate_proxies']); $config->setHydratorDir($app['doctrine.odm.mongodb.hydrators_dir']); $config->setHydratorNamespace($app['doctrine.odm.mongodb.hydrators_namespace']); $config->setAutoGenerateHydratorClasses($app['doctrine.odm.mongodb.auto_generate_hydrators']); $config->setLoggerCallable($app['doctrine.odm.mongodb.logger_callable']); return $config; }); }
public function testHasGetMetadata_NamespaceSeperatorIsNotNormalized() { require_once __DIR__ . "/Documents/GlobalNamespaceDocument.php"; $driver = AnnotationDriver::create(__DIR__ . '/Documents'); $dm = $this->getMockDocumentManager($driver); $cmf = new ClassMetadataFactory(); $cmf->setConfiguration($dm->getConfiguration()); $cmf->setDocumentManager($dm); $m1 = $cmf->getMetadataFor("DoctrineGlobal_Article"); $h1 = $cmf->hasMetadataFor("DoctrineGlobal_Article"); $h2 = $cmf->hasMetadataFor("\\DoctrineGlobal_Article"); $m2 = $cmf->getMetadataFor("\\DoctrineGlobal_Article"); $this->assertNotSame($m1, $m2); $this->assertFalse($h2); $this->assertTrue($h1); }
/** * setup mongo-odm and load fixtures * * @return void */ public function setUp() { AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setHydratorDir('/tmp/hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setProxyDir('/tmp/proxies'); $config->setProxyNamespace('Proxies'); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Documents/')); $dm = DocumentManager::create(new Connection(), $config); $loader = new Loader(); $loader->addFixture(new MongoOdmFixtures()); $executor = new MongoDBExecutor($dm, new MongoDBPurger()); $executor->execute($loader->getFixtures()); $this->builder = $dm->createQueryBuilder('Graviton\\Rql\\Documents\\Foo'); }
/** * @param array $options */ public function __construct(array $options = []) { AnnotationDriver::registerAnnotationClasses(); $options = array_merge(['mongodb_url' => 'mongodb://localhost/crowi', 'password_seed' => 'this is default session secret', 'temporary_dir' => sys_get_temp_dir() . '/crowi', 'doctrine_configration' => null], $options); if (!$options['doctrine_configration'] instanceof Configuration) { $config = new Configuration(); $config->setDefaultDB(trim(parse_url($options['mongodb_url'], PHP_URL_PATH), '/')); $config->setProxyDir($options['temporary_dir'] . '/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir($options['temporary_dir'] . '/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Document')); $options['doctrine_configration'] = $config; } $this->dm = DocumentManager::create(new Connection($options['mongodb_url']), $options['doctrine_configration']); }
/** * @return DocumentManager */ function getDM() { static $dm; if (!isset($dm)) { $connection = new Connection(); $config = new Configuration(); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('tw-react'); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Documents')); AnnotationDriver::registerAnnotationClasses(); $dm = DocumentManager::create($connection, $config); } return $dm; }
private function getDocumentManager() { if (!class_exists('Doctrine\\ODM\\MongoDB\\DocumentManager')) { $this->markTestSkipped('Missing doctrine/mongodb-odm'); } $root = dirname(dirname(dirname(dirname(dirname(__DIR__))))); $config = new Configuration(); $config->setProxyDir($root . '/generate/proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir($root . '/generate/hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(dirname(__DIR__) . '/TestDocument')); AnnotationDriver::registerAnnotationClasses(); $dm = DocumentManager::create(null, $config); if (!$dm->getConnection()->connect()) { $this->markTestSkipped('Unable to connect to MongoDB'); } return $dm; }
function DocumentManager() { if (!file_exists($file = __DIR__ . '/vendor/autoload.php')) { throw new RuntimeException('Install dependencies to run this script.'); } $loader = (require_once $file); $loader->add('Documents', __DIR__); $connection = new Connection(); $config = new Configuration(); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('todos'); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Documents')); AnnotationDriver::registerAnnotationClasses(); $dm = DocumentManager::create($connection, $config); return $dm; }
private function __construct($mongoConfig) { $this->logger = \Logkit\Logger::ins('mongo'); AnnotationDriver::registerAnnotationClasses(); //获取ODM配置 $ODMConfig = \Yaf\Application::app()->getConfig()->ODM; if (!$ODMConfig) { throw new Exception('The ODM config not found.'); } //连接mongodb $dsn = 'mongodb://' . $mongoConfig->host . ':' . $mongoConfig->port; $options = $mongoConfig->options->toArray(); $connection = new Connection($dsn, $options); //配置ODM $config = new Configuration(); $config->setProxyDir($ODMConfig->proxiesDir); $config->setProxyNamespace('Proxies'); $config->setHydratorDir($ODMConfig->hydratorsDir); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create($ODMConfig->documentsDir)); $this->ducumentManager = DocumentManager::create($connection, $config); }
private function initDm() { $config = new Configuration(); $conn = new Connection($this->_config->getConfigData('mongo_server')); if (true === $this->_config->getConfigData('development_environment')) { $cache = new ArrayCache(); $config->setAutoGenerateHydratorClasses(true); $config->setAutoGenerateProxyClasses(true); } else { $cache = new ApcCache(array('prefix' => $this->_app->getConfig()->getConfigData('app_name'))); $config->setAutoGenerateHydratorClasses(false); $config->setAutoGenerateProxyClasses(false); } $config->setMetadataCacheImpl($cache); $config->setProxyDir(ROOT . DS . 'app' . DS . 'proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(ROOT . DS . 'app' . DS . 'hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB($this->_config->getConfigData('mongo_dbName')); $config->setMetadataDriverImpl(AnnotationDriver::create(ROOT . DS . 'app' . DS . 'models')); AnnotationDriver::registerAnnotationClasses(); $this->_dm = DocumentManager::create($conn, $config); ServiceContainer::set()['dm'] = $this->_dm; }
private function getMockDocumentManager() { $config = new Configuration(); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/../../../../Documents')); $em = $this->getMockBuilder('Doctrine\\Common\\EventManager')->disableOriginalConstructor()->getMock(); $dm = new DocumentManagerMock(); $dm->eventManager = $em; $dm->config = $config; return $dm; }
use Doctrine\ODM\MongoDB\DocumentManager; use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver; $container = $app->getContainer(); $container['view'] = function ($c) { $settings = $c->get('settings'); $view = new \Slim\Views\Twig($settings['view']['template_path'], $settings['view']['twig']); $view->addExtension(new Slim\Views\TwigExtension($c->get('router'), $c->get('request')->getUri())); $view->addExtension(new Twig_Extension_Debug()); return $view; }; $container['logger'] = function ($c) { $settings = $c->get('settings'); $logger = new \Monolog\Logger($settings['logger']['name']); $logger->pushProcessor(new \Monolog\Processor\UidProcessor()); $logger->pushHandler(new \Monolog\Handler\StreamHandler($settings['logger']['path'], \Monolog\Logger::DEBUG)); return $logger; }; $container['dm'] = function ($c) { AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../cache/proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../cache/hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/../src')); $dm = DocumentManager::create(new Connection(), $config); return $dm; }; $container['Qmail\\Controller\\Website\\HomeController'] = function ($c) { return new Qmail\Controller\Website\HomeController($c); };
protected function createMetadataDriverImpl() { return AnnotationDriver::create(__DIR__ . '/../../../../Documents'); }
* GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ require_once "vendor/autoload.php"; use Doctrine\MongoDB\Connection; use Doctrine\ODM\MongoDB\Configuration; use Doctrine\ODM\MongoDB\DocumentManager; use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver; if (!file_exists($file = __DIR__ . '/vendor/autoload.php')) { throw new RuntimeException('Install dependencies to run this script.'); } //$loader = require_once $file; //$loader->add('Documents', __DIR__); //$mogo = new MongoClient(array(), $options); $connection = new Connection("mongodb://127.0.0.1:27017/social"); $config = new Configuration($connection); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('social'); $config->setMetadataDriverImpl(AnnotationDriver::create('module/Application/src/Application/Entity/Mongo')); AnnotationDriver::registerAnnotationClasses(); $dm = DocumentManager::create($connection, $config); $helperSet = new \Symfony\Component\Console\Helper\HelperSet(array('dm' => new \Doctrine\ODM\MongoDB\Tools\Console\Helper\DocumentManagerHelper($dm))); $app = new \Symfony\Component\Console\Application('Doctrine ODM MongoDB Command Line Interface'); $app->setHelperSet($helperSet); $app->addCommands(array(new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateDocumentsCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateHydratorsCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateProxiesCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateRepositoriesCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\QueryCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\ClearCache\MetadataCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\Schema\CreateCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\Schema\DropCommand(), new \Doctrine\ODM\MongoDB\Tools\Console\Command\Schema\UpdateCommand())); $app->run();
<?php use Doctrine\Common\ClassLoader; use Doctrine\MongoDB\Connection; use Doctrine\ODM\MongoDB\Configuration; use Doctrine\ODM\MongoDB\DocumentManager; use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver; $file = __DIR__ . '/../../vendor/autoload.php'; if (!file_exists($file)) { throw new RuntimeException('Install dependencies to run the sandbox.'); } require_once $file; AnnotationDriver::registerAnnotationClasses(); $classLoader = new ClassLoader('Documents', __DIR__); $classLoader->register(); $config = new Configuration(); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('doctrine_odm_sandbox'); // $config->setLoggerCallable(function(array $log) { print_r($log); }); // $config->setMetadataCacheImpl(new Doctrine\Common\Cache\ApcCache()); $config->setMetadataDriverImpl(AnnotationDriver::create(__DIR__ . '/Documents')); $dm = DocumentManager::create(new Connection(), $config);
/** * Helper method to get metadata drivers * @param type $type * @param type $classpath * @return YamlDriver|XmlDriver */ static function getMetadataDriver($type, $classpath) { switch ($type) { case "yaml": return new YamlDriver($classpath); break; case "xml": return new XmlDriver($classpath); break; default: AnnotationDriver::registerAnnotationClasses(); return AnnotationDriver::create($classpath); } }