示例#1
0
 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');
 }
示例#2
0
 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);
     }
 }
示例#3
0
$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();
示例#4
0
 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;
     }
 }