public function __destruct() { if (is_object($this->objPdo)) { Debug::log('Disconnect main DB ', 'core-db'); unset($this->objPdo); $this->objPdo = null; } if (!empty(self::$arrInstances)) { foreach (self::$arrInstances as $strConnectionName => $objInstance) { Debug::log('Disconnect DB ' . $strConnectionName, 'core-db'); unset($objInstance); $objInstance = null; } Debug::log('Destroing instances array', 'core-db'); self::$arrInstances = array(); } }
public function __construct($strServerName) { if (self::$boolConfigLoaded === false) { self::loadConfig(); } $numCurrentEnvironment = Application::currentEnvironment(); if (!isset(self::$arrRunningInstances[$numCurrentEnvironment][$strServerName])) { $arrConfig = self::$arrServers[$numCurrentEnvironment][$strServerName]; $objMemcache = new \Memcache(); $objMemcache->connect('localhost', $arrConfig['numPort']); Debug::log('Connected to localhost:' . $arrConfig['numPort'], 'memcache'); // $objMemcache->addServer('localhost', $arrConfig['numPort']); // print_r($objMemcached); // exit('s'); // self::$arrRunningInstances[$numCurrentEnvironment][$strServerName]->connect('localhost', $arrConfig['numPort']); self::$arrRunningInstances[$numCurrentEnvironment][$strServerName] = $objMemcache; $this->arrCurrentConfig = $arrConfig; } $this->objMemcache = self::$arrRunningInstances[$numCurrentEnvironment][$strServerName]; }
public function findRoute($strUri, $strCurrentLanguage, $boolDebug = false) { $objRoute = null; $arrHits = array(); $objRecognizedRoute = null; if (!empty($this->arrRoutes[$strCurrentLanguage])) { $arrRoutesToCheck = $this->arrRoutes[$strCurrentLanguage]; } else { $arrRoutesToCheck = $this->arrRoutes; } foreach ($arrRoutesToCheck as $objRoute) { // $strPattern = $objRoute->strUri; foreach ($objRoute->arrUris as $strPattern) { $strPattern = str_replace('/', '\\/', $strPattern); $strPattern = str_replace('.', '\\.', $strPattern); $strPattern = str_replace('-', '\\-', $strPattern); // echo str_replace(array('\/', '\-', '\.'), array('/', '-', '.'), $strPattern) .' -> '; $strPattern = sprintf('^%s$', preg_replace('/\\{[^}]+\\}/', '([^\\/]+)', $strPattern)); // echo str_replace(array('\/', '\-', '/.'), array('/', '-', '.'), $strPattern).'<br />'; $strPattern = '/' . $strPattern . '/'; // echo $strUri .' -> '.$strPattern.'<br />'; $numPregMatchResult = @preg_match($strPattern, $strUri, $arrHits); // if ($boolDebug === true) { // echo '<pre>'.$numPregMatchResult; // print_r($arrHits); // echo '</pre> ('.$numPregMatchResult.')'; // } if ($numPregMatchResult === 1) { // exit(); if (!empty($arrHits)) { $arrFilteredHits = array(); if ($boolDebug === true) { echo '1) "' . $numPregMatchResult . '"<pre>'; print_r($arrHits); echo '</pre>'; } // for ($numHit = 1; $numHit<count($arrHits); $numHit+=2) { // $arrFilteredHits[] = $arrHits[$numHit]; // } // array_shift($arrHits); //// Request::setParams($arrFilteredHits); // // Request::setParams($arrHits); for ($numHit = 1; $numHit < count($arrHits); $numHit++) { if (substr($arrHits[$numHit], -1) !== '/') { $arrFilteredHits[] = $arrHits[$numHit]; } } Request::setParams($arrFilteredHits); // echo '<pre>'; // print_r($arrFilteredHits); // // print_r($arrHits); // exit(); } $objRecognizedRoute = $objRoute; Debug::log('On route ' . $objRecognizedRoute->strRouteFullName, 'core-router'); break; } } if (!empty($objRecognizedRoute)) { break; } } // if (empty($objRecognizedRoute)) { // echo "ERROR! ".__FILE__.'::'.__FUNCTION__.'#'.__LINE__; // exit(); // } // echo 's'; // echo '<pre>'; // print_r($objRecognizedRoute); // exit(); return $objRecognizedRoute; }