PHPDaemon\Config\Object::loadCmdLineArgs PHP Method

loadCmdLineArgs() public static method

Imports parameters from command line args
public static loadCmdLineArgs ( $settings ) : boolean
return boolean - Success.
    public static function loadCmdLineArgs($settings)
    {
        $error = false;
        static $ktr = ['-' => ''];
        foreach ($settings as $k => $v) {
            $k = strtolower(strtr($k, $ktr));
            if ($k === 'config') {
                $k = 'configfile';
            }
            if ($k === 'user' || $k === 'group') {
                if ($v === '') {
                    $v = null;
                }
            }
            if (isset(Daemon::$config->{$k})) {
                Daemon::$config->{$k}->setHumanValue($v);
                Daemon::$config->{$k}->source = 'cmdline';
            } else {
                Daemon::log('Unrecognized parameter \'' . $k . '\'');
                $error = true;
            }
        }
        return !$error;
    }

Usage Example

 /**
  * It allows to run your simple web-apps in spawn-fcgi/php-fpm environment.
  * @return boolean|null - Success.
  */
 public static function compatRunEmul()
 {
     Daemon::$compatMode = TRUE;
     Daemon::initSettings();
     $argv = isset($_SERVER['CMD_ARGV']) ? $_SERVER['CMD_ARGV'] : '';
     $args = \PHPDaemon\Core\Bootstrap::getArgs($argv);
     if (isset($args[$k = 'configfile'])) {
         Daemon::$config[$k] = $args[$k];
     }
     if (!Daemon::$config->loadCmdLineArgs($args)) {
         $error = true;
     }
     if (isset(Daemon::$config->configfile->value) && !Daemon::loadConfig(Daemon::$config->configfile->value)) {
         $error = true;
     }
     if (!isset(Daemon::$config->path->value)) {
         exit('\'path\' is not defined');
     }
     if ($error) {
         exit;
     }
     $appResolver = (require Daemon::$config->path->value);
     $appResolver->init();
     $req = new \stdClass();
     $req->attrs = new \stdClass();
     $req->attrs->request = $_REQUEST;
     $req->attrs->get = $_GET;
     $req->attrs->post = $_REQUEST;
     $req->attrs->cookie = $_REQUEST;
     $req->attrs->server = $_SERVER;
     $req->attrs->files = $_FILES;
     $req->attrs->session = isset($_SESSION) ? $_SESSION : null;
     $req->attrs->connId = 1;
     $req->attrs->trole = 'RESPONDER';
     $req->attrs->flags = 0;
     $req->attrs->id = 1;
     $req->attrs->paramsDone = true;
     $req->attrs->inputDone = true;
     $req = $appResolver->getRequest($req);
     while (true) {
         $ret = $req->call();
         if ($ret === 1) {
             return;
         }
     }
 }