public function testDeepReplace() { $iniContent = 'testReplace=aaa'; $filename = Registry::get('applicationPath') . '/cache/test.' . date('YmdHis') . rand(1, 1000) . '.initmp'; file_put_contents($filename, $iniContent); $iniTest = Ini::parse($filename); $iniReplaced = Ini::deepReplace($iniTest, 'a', 'z'); unlink($filename); $this->assertTrue($iniReplaced->testReplace === 'zzz'); }
public function initCliEnvironment() { $showUsage = true; if (isset($_SERVER['argv']) && $_SERVER['argc'] >= 2) { $urlIni = Ini::parse(Registry::get('applicationPath') . '/configs/url.ini', true); Registry::set('urlIni', $urlIni); $inEnvironment = $urlIni->defaults->environment; $inLocale = $urlIni->defaults->locale; $inVersion = 'cli'; $inAction = array('type' => 'default', 'uri' => null); // default values Registry::set('environment', $inEnvironment); Registry::set('locale', $inLocale); Registry::set('version', $inVersion); // we use the requested section from the config.ini to load our config Config::init($inLocale, $inEnvironment, $inVersion); Registry::set('config', Config::getInstance()); // parse the variables from the .env file or environment $env = Env::init($inLocale, $inEnvironment, $inVersion); Registry::set('env', Env::getInstance()); // create the Settings Object Registry::set('settings', Settings::getInstance()); $arrParams = array(); $ac = 1; while ($ac < count($_SERVER['argv'])) { switch ($_SERVER['argv'][$ac]) { case '-e': case '--environment': $inEnvironment = $_SERVER['argv'][$ac + 1]; $ac += 2; break; case '-l': case '--locale': $inLocale = $_SERVER['argv'][$ac + 1]; $ac += 2; break; case '-v': case '--version': $inVersion = $_SERVER['argv'][$ac + 1]; $ac += 2; break; case '-a': case '--action': $inAction['uri'] = ltrim($_SERVER['argv'][$ac + 1], '/'); $ac += 2; $showUsage = false; break; case '-m': case '--make': $inAction['uri'] = ltrim($_SERVER['argv'][$ac + 1], '/'); $inAction['type'] = 'make'; $showUsage = false; $ac += 2; break; default: $ac += 2; break; } } } if (!$showUsage) { // on lit le config.ini à la section concernée par notre environnement $config = Ini::parse(Registry::get('applicationPath') . '/configs/config.ini', true, $inLocale . '-' . $inEnvironment . '-' . $inVersion); Registry::set('config', $config); // on assigne les variables d'environnement et de langue en registry Registry::set('environment', $inEnvironment); Registry::set('locale', $inLocale); Registry::set('version', $inVersion); return $inAction; } else { echo "Usage : module/controller/action"; echo "\nOr : module/controller/action -variable1 value1 -variable2 value2 -variable3 value3"; echo "\nOr : module/controller/action/variable1/value1/variable2/value2/variable3/value3"; exit(04); } }
$applicationNamespace = 'App'; require $libraryPath . '/Nf/Autoloader.php'; $autoloader = new \Nf\Autoloader(); $autoloader->addNamespaceRoot($applicationNamespace, $applicationPath . '/models'); $autoloader->addNamespaceRoot('Nf', $libraryPath . '/Nf'); $autoloader->addNamespaceRoot('Library', $libraryPath . '/php/models'); $autoloader->addNamespaceRoot('', $applicationPath . '/models'); $autoloader->register(); \Nf\Registry::set('libraryPath', $libraryPath); \Nf\Registry::set('applicationPath', $applicationPath); $urlIni = \Nf\Ini::parse(\Nf\Registry::get('applicationPath') . '/configs/url.ini', true); \Nf\Registry::set('urlIni', $urlIni); \Nf\Registry::set('environment', 'test'); \Nf\Registry::set('locale', $urlIni->i18n->defaultLocale); \Nf\Registry::set('version', 'cli'); $config = \Nf\Ini::parse(\Nf\Registry::get('applicationPath') . '/configs/config.ini', true, \Nf\Registry::get('locale') . '_' . \Nf\Registry::get('environment') . '_' . \Nf\Registry::get('version')); \Nf\Registry::set('config', $config); \Nf\Error\Handler::setErrorDisplaying(); $front = \Nf\Front::getInstance(); $request = new \Nf\Front\Request\Cli('/'); $front->setRequest($request); $response = new \Nf\Front\Response\Cli(); $front->setResponse($response); $front->setApplicationNamespace($applicationNamespace); // routing $router = \Nf\Router::getInstance(); $front->setRouter($router); $router->addAllRoutes(); $labelManager = \Nf\LabelManager::getInstance(); $labelManager->loadLabels(\Nf\Registry::get('locale')); $localization = \Nf\Localization::getInstance();
public function configLoad($filepath, $section = null) { // lire le fichier ini, ajouter aux variables $ini = Ini::parse($filepath); foreach ($ini as $key => $value) { $this->_vars[$key] = $value; } }