/** * 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(); }