/** * initialize Propel * @return void * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function initialize() { if (self::$configuration === null) { throw new PropelException("Propel cannot be initialized without " . "a valid configuration. Please check the log files " . "for further details."); } self::configureLogging(); // Now that we have dealt with processing the log properties // that may be contained in the configuration we will make the // configuration consist only of the remaining propel-specific // properties that are contained in the configuration. First // look for properties that are in the "propel" namespace. $originalConf = self::$configuration; self::$configuration = isset(self::$configuration['propel']) ? self::$configuration['propel'] : null; if (empty(self::$configuration)) { // Assume the original configuration already had any // prefixes stripped. self::$configuration = $originalConf; } // reset the connection map (this should enable runtime changes of connection params) self::$connectionMap = array(); self::initAdapters(self::$configuration); self::$isInit = true; // map builders may be registered w/ Propel before Propel has // been initialized; in this case they are stored in a static // var of this class & now can be propertly initialized. foreach (self::$mapBuilders as $mbClass) { BasePeer::getMapBuilder($mbClass); } // now that the pre-loaded map builders have been propertly initialized // empty the array. // any further mapBuilders will be build by the generated MapBuilder classes. self::$mapBuilders = array(); }
/** * Initializes Propel * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function initialize() { if (self::$configuration === null) { throw new PropelException("Propel cannot be initialized without a valid configuration. Please check the log files for further details."); } self::configureLogging(); // check whether the generated model has the same version as the runtime, see gh-#577 // we need to check for existance first, because tasks which rely on the runtime.xml conf will not provide a generator_version if (isset(self::$configuration['generator_version']) && self::$configuration['generator_version'] != self::VERSION) { $warning = "Version mismatch: The generated model was build using propel '" . self::$configuration['generator_version'] . "' while the current runtime is at version '" . self::VERSION . "'"; if (self::$logger) { self::$logger->warning($warning); } else { trigger_error($warning, E_USER_WARNING); } } // reset the connection map (this should enable runtime changes of connection params) self::$connectionMap = array(); if (isset(self::$configuration['classmap']) && is_array(self::$configuration['classmap'])) { PropelAutoloader::getInstance()->addClassPaths(self::$configuration['classmap']); PropelAutoloader::getInstance()->register(); } self::$isInit = true; }
/** * Initializes Propel * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function initialize() { if (self::$configuration === null) { throw new PropelException("Propel cannot be initialized without a valid configuration. Please check the log files for further details."); } self::configureLogging(); // reset the connection map (this should enable runtime changes of connection params) self::$connectionMap = array(); if (isset(self::$configuration['classmap']) && is_array(self::$configuration['classmap'])) { PropelAutoloader::getInstance()->addClassPaths(self::$configuration['classmap']); PropelAutoloader::getInstance()->register(); } self::$isInit = true; }
/** * Initializes Propel * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function initialize() { if (self::$configuration === null) { throw new PropelException("Propel cannot be initialized without " . "a valid configuration. Please check the log files " . "for further details."); } self::configureLogging(); // Support having the configuration stored within a 'propel' sub-section or at the top-level if (isset(self::$configuration['propel']) && is_array(self::$configuration['propel'])) { self::$configuration = self::$configuration['propel']; } // reset the connection map (this should enable runtime changes of connection params) self::$connectionMap = array(); foreach (self::$configuration['datasources'] as $key => $datasource) { if ($key != 'default' && isset($datasource['classes'])) { // merge the classes to the autoload map self::$autoloadMap = array_merge($datasource['classes'], self::$autoloadMap); } } self::$isInit = true; }