Пример #1
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);
     }
 }
Пример #2
0
 public function __isset($key)
 {
     $env = Env::getInstance();
     $config = Config::getInstance();
     return isset($env->{$key}) || isset($config->{$key});
 }