当前位置: 首页>>代码示例>>PHP>>正文


PHP Doctrine_Core::setExtensionsPath方法代码示例

本文整理汇总了PHP中Doctrine_Core::setExtensionsPath方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine_Core::setExtensionsPath方法的具体用法?PHP Doctrine_Core::setExtensionsPath怎么用?PHP Doctrine_Core::setExtensionsPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Doctrine_Core的用法示例。


在下文中一共展示了Doctrine_Core::setExtensionsPath方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: prepareTables

 public function prepareTables()
 {
     Doctrine_Core::setExtensionsPath(dirname(__FILE__) . '/Extension');
     spl_autoload_register(array('Doctrine', 'extensionsAutoload'));
     Doctrine_Manager::getInstance()->registerExtension('TestExtension');
     $this->tables[] = 'ExtensionBehaviorTest';
     parent::prepareTables();
 }
开发者ID:kaakshay,项目名称:audience-insight-repository,代码行数:8,代码来源:ExtensionTestCase.php

示例2: registerDoctrine

 public static function registerDoctrine()
 {
     if (self::$doctrineLoaded) {
         return;
     }
     $settings = sgConfiguration::get('settings.DoctrinePlugin');
     Doctrine_Core::setExtensionsPath(self::getPath('extensions'));
     Doctrine_Core::setModelsDirectory(self::getPath('models'));
     $manager = Doctrine_Manager::getInstance();
     $manager->openConnection($settings['dsn'], 'doctrine');
     if (isset($settings['attributes'])) {
         foreach ($settings['attributes'] as $attribute => $value) {
             $manager->setAttribute($attribute, $value);
         }
     }
     self::$doctrineLoaded = true;
 }
开发者ID:superglue,项目名称:DoctrinePlugin,代码行数:17,代码来源:DoctrinePluginConfiguration.class.php

示例3: getDoctrine

 public function getDoctrine()
 {
     if (null === $this->_doctrine) {
         try {
             // Get Doctrine configuration options from the application.ini file
             $doctrineConfig = $this->getOptions();
             require_once 'Doctrine.php';
             $loader = Zend_Loader_Autoloader::getInstance();
             $loader->pushAutoloader(array('Doctrine', 'autoload'));
             $loader->pushAutoloader(array('Doctrine', 'modelsAutoload'));
             $manager = Doctrine_Manager::getInstance();
             if (isset($doctrineConfig['extensions_path']) && isset($doctrineConfig['extensions']) && is_array($doctrineConfig['extensions'])) {
                 Doctrine_Core::setExtensionsPath($doctrineConfig['extensions_path']);
                 $loader->pushAutoloader(array('Doctrine', 'extensionsAutoload'));
                 foreach ($doctrineConfig['extensions'] as $e) {
                     $manager->registerExtension($e);
                 }
             }
             $manager->setAttribute(Doctrine::ATTR_MODEL_LOADING, Doctrine::MODEL_LOADING_CONSERVATIVE);
             $manager->setAttribute(Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES, true);
             $manager->setAttribute(Doctrine::ATTR_USE_DQL_CALLBACKS, true);
             $manager->setCollate('utf8_unicode_ci');
             $manager->setCharset('utf8');
             Doctrine::loadModels($doctrineConfig['models_path']);
             $manager->openConnection($doctrineConfig['connection_string']);
             $manager->connection()->setCollate('utf8_unicode_ci');
             $manager->connection()->setCharset('utf8');
             $this->_doctrine = $manager;
         } catch (Exception $e) {
             echo "<html><body><pre>\nERROR: Your Doctrine set-up is not working.\n\n";
             echo $e->getMessage() . "\n\n";
             echo $e->getTraceAsString();
             echo "</pre></body></html>";
             die;
         }
     }
     return $this->_doctrine;
 }
开发者ID:nereliz,项目名称:ViMbAdmin,代码行数:38,代码来源:Doctrine.php

示例4: getDoctrine

 /**
  * Get doctrine
  * 
  * @return Doctrine_Manager
  */
 public function getDoctrine()
 {
     if (null === $this->_doctrine) {
         // Get Doctrine configuration options from the application.ini file
         $doctrineConfig = $this->getOptions();
         /**
          * @see Doctrine
          */
         require_once 'Doctrine.php';
         $loader = Zend_Loader_Autoloader::getInstance();
         $loader->pushAutoloader(array('Doctrine', 'autoload'));
         $loader->pushAutoloader(array('Doctrine', 'modelsAutoload'));
         $manager = Doctrine_Manager::getInstance();
         if (isset($doctrineConfig['extensions_path']) && is_array($doctrineConfig['extensions'])) {
             Doctrine_Core::setExtensionsPath($doctrineConfig['extensions_path']);
             $loader->pushAutoloader(array('Doctrine', 'extensionsAutoload'));
             foreach ($doctrineConfig['extensions'] as $e) {
                 $manager->registerExtension($e);
             }
         }
         $manager->setAttribute(Doctrine::ATTR_MODEL_LOADING, Doctrine::MODEL_LOADING_CONSERVATIVE);
         $manager->setAttribute(Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES, true);
         $manager->setAttribute(Doctrine::ATTR_USE_DQL_CALLBACKS, true);
         $manager->setCollate('utf8_unicode_ci');
         $manager->setCharset('utf8');
         Doctrine::loadModels($doctrineConfig['models_path']);
         $db_profiler = new Doctrine_Connection_Profiler();
         $manager->openConnection($doctrineConfig['connection_string']);
         $manager->connection()->setListener($db_profiler);
         $manager->connection()->setCollate('utf8_unicode_ci');
         $manager->connection()->setCharset('utf8');
         Zend_Registry::set('db_profiler', $db_profiler);
         $this->_doctrine = $manager;
     }
     return $this->_doctrine;
 }
开发者ID:opensolutions,项目名称:oss-framework,代码行数:41,代码来源:Doctrine.php

示例5: define

 * Doctrine Configuration File
 *
 * This is a sample implementation of Doctrine
 * 
 * @package     Doctrine
 * @subpackage  Config
 * @license     http://www.opensource.org/licenses/lgpl-license.php LGPL
 * @link        www.phpdoctrine.org
 * @since       1.0
 * @version     $Revision: 2753 $
 * @author      Konsta Vesterinen <kvesteri@cc.hut.fi>
 * @author      Jonathan H. Wage <jwage@mac.com>
 */
define('SANDBOX_PATH', dirname(__FILE__));
define('DOCTRINE_PATH', dirname(dirname(SANDBOX_PATH)) . DIRECTORY_SEPARATOR . 'lib');
define('DATA_FIXTURES_PATH', SANDBOX_PATH . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'fixtures');
define('MODELS_PATH', SANDBOX_PATH . DIRECTORY_SEPARATOR . 'models');
define('MIGRATIONS_PATH', SANDBOX_PATH . DIRECTORY_SEPARATOR . 'migrations');
define('SQL_PATH', SANDBOX_PATH . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'sql');
define('YAML_SCHEMA_PATH', SANDBOX_PATH . DIRECTORY_SEPARATOR . 'schema');
define('DB_PATH', SANDBOX_PATH . DIRECTORY_SEPARATOR . 'sandbox.db');
define('DSN', 'sqlite:///' . DB_PATH);
require_once DOCTRINE_PATH . DIRECTORY_SEPARATOR . 'Doctrine.php';
Doctrine_Core::setExtensionsPath(dirname(__FILE__) . '/extensions');
spl_autoload_register(array('Doctrine', 'autoload'));
spl_autoload_register(array('Doctrine', 'modelsAutoload'));
spl_autoload_register(array('Doctrine', 'extensionsAutoload'));
$manager = Doctrine_Manager::getInstance();
$manager->openConnection(DSN, 'doctrine');
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_PEAR);
Doctrine_Core::setModelsDirectory('models');
开发者ID:kaakshay,项目名称:audience-insight-repository,代码行数:31,代码来源:config.php

示例6: initialize


//.........这里部分代码省略.........
     }
     $is12 = version_compare(Doctrine::VERSION, '1.2', '>=');
     // in any case, it's loaded now. maybe we need to register the autoloading stuff for it!
     // we need this list further down
     $splAutoloadFunctions = spl_autoload_functions();
     if (!in_array(array('Doctrine', 'autoload'), $splAutoloadFunctions) && !in_array(array('Doctrine_Core', 'autoload'), $splAutoloadFunctions)) {
         // we do
         spl_autoload_register(array('Doctrine', 'autoload'));
     }
     // cool. Assign the Doctrine Manager instance
     $this->doctrineManager = Doctrine_Manager::getInstance();
     // now we're in business. we will set up connections right away, as Doctrine is handling the lazy-connecting stuff for us.
     // that way, you can just start using classes in your code
     try {
         $dsn = $this->getParameter('dsn');
         if ($dsn === null) {
             // missing required dsn parameter
             $error = 'Database configuration specifies method "dsn", but is missing dsn parameter';
             throw new AgaviDatabaseException($error);
         }
         $this->connection = $this->doctrineManager->openConnection($dsn, $name);
         // do not assign the resource here. that would connect to the database
         // $this->resource = $this->connection->getDbh();
         // set our event listener that, on connect, sets the configured charset and runs init queries
         $this->connection->setListener(new AgaviDoctrineDatabaseEventListener($this));
         $this->connection->setPrefix($this->getParameter('prefix', ""));
         // set the context instance as a connection parameter
         $this->connection->setParam('context', $databaseManager->getContext(), 'org.agavi');
         // date format
         if ($this->hasParameter('date_format')) {
             $this->connection->setDateFormat($this->getParameter('date_format'));
         }
         // options
         foreach ((array) $this->getParameter('options') as $optionName => $optionValue) {
             $this->connection->setOption($optionName, $optionValue);
         }
         foreach (array('manager_attributes' => $this->doctrineManager, 'attributes' => $this->connection) as $attributesKey => $attributesDestination) {
             foreach ((array) $this->getParameter($attributesKey, array()) as $attributeName => $attributeValue) {
                 if ($is12) {
                     if (!strpos($attributeName, '::')) {
                         throw new AgaviDatabaseException(sprintf('For Doctrine 1.2 and newer, attribute names (and, if desired to be resolved against a constant, values) must be fully qualified, e.g. "Doctrine_Core::ATTR_VALIDATE" and "Doctrine_Core::VALIDATE_NONE". Given attribute with name "%s" in collection "%s" does not match this condition.', $attributeName, $attributesKey));
                     }
                     if (!defined($attributeName)) {
                         throw new AgaviDatabaseException(sprintf('Unknown Attribute "%s"', $attributeName));
                     }
                 }
                 // resolve from constant if possible
                 if (strpos($attributeName, '::') && defined($attributeName)) {
                     $attributeName = constant($attributeName);
                 }
                 // resolve from constant if possible
                 if (strpos($attributeValue, '::') && defined($attributeValue)) {
                     $attributeValue = constant($attributeValue);
                 } elseif (ctype_digit($attributeValue)) {
                     $attributeValue = (int) $attributeValue;
                 }
                 $attributesDestination->setAttribute($attributeName, $attributeValue);
             }
         }
         foreach ((array) $this->getParameter('impls', array()) as $templateName => $className) {
             $this->connection->setImpl($templateName, $className);
         }
         foreach ((array) $this->getParameter('manager_impls', array()) as $templateName => $className) {
             $this->doctrineManager->setImpl($templateName, $className);
         }
         // load models (that'll just work with empty values too)
         Doctrine::loadModels($this->getParameter('load_models'));
         // for 1.2, handle model autoloading and base paths
         if ($is12 && ($this->hasParameter('load_models') || $this->hasParameter('models_directory'))) {
             if (!in_array(array('Doctrine', 'modelsAutoload'), $splAutoloadFunctions) && !in_array(array('Doctrine_Core', 'modelsAutoload'), $splAutoloadFunctions)) {
                 spl_autoload_register(array('Doctrine_Core', 'modelsAutoload'));
             }
             if ($this->hasParameter('models_directory')) {
                 Doctrine_Core::setModelsDirectory($this->getParameter('models_directory'));
             }
         }
         // for 1.2, handle extension autoloading, base paths and registration
         if ($is12 && ($this->hasParameter('extensions_path') || $this->hasParameter('register_extensions'))) {
             if (!in_array(array('Doctrine', 'extensionsAutoload'), $splAutoloadFunctions) && !in_array(array('Doctrine_Core', 'extensionsAutoload'), $splAutoloadFunctions)) {
                 spl_autoload_register(array('Doctrine_Core', 'extensionsAutoload'));
             }
             if ($this->hasParameter('extensions_path')) {
                 Doctrine_Core::setExtensionsPath($this->getParameter('extensions_path'));
             }
             foreach ((array) $this->getParameter('register_extensions', array()) as $extensionName) {
                 if (is_array($extensionName)) {
                     call_user_func_array(array($this->doctrineManager, 'registerExtension'), $extensionName);
                 } else {
                     $this->doctrineManager->registerExtension($extensionName);
                 }
             }
         }
         foreach ((array) $this->getParameter('bind_components', array()) as $componentName) {
             $this->doctrineManager->bindComponent($componentName, $name);
         }
     } catch (Doctrine_Exception $e) {
         // the connection's foobar'd
         throw new AgaviDatabaseException($e->getMessage());
     }
 }
开发者ID:philippjenni,项目名称:icinga-web,代码行数:101,代码来源:AgaviDoctrineDatabase.class.php


注:本文中的Doctrine_Core::setExtensionsPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。