示例#1
0
version_compare(PHP_VERSION, $min_version = "5.6") === -1 and exit('当前PHP运行版本[' . PHP_VERSION . "]低于[" . $min_version . "]!");
// 拒绝标志
define('IS_NORMA', true);
// 开始运行时间
define('START_TIME', microtime(true));
// 内存使用
define('START_MEM', memory_get_usage());
// 框架路径
defined('FRAME_PATH') or define('FRAME_PATH', __DIR__ . DIRECTORY_SEPARATOR);
// 应用目录
defined('APP_PATH') or define('APP_PATH', dirname(__DIR__) . '/manage');
// 应用前缀
defined('APP_UUID') or define('APP_UUID', substr(md5(APP_PATH), 5, 6));
require FRAME_PATH . '/bootstrap/autoload.php';
// 编译文件库
if (file_exists($compiledPath = APP_PATH . '/cache/compiled.php')) {
    require $compiledPath;
}
//如果不处于单元测试
if (strpos($_SERVER['PHP_SELF'], 'phpunit') === false) {
    switch (strtoupper(\Norma\Support\Evn::DetectAccessMode())) {
        case 'CLI':
            \Norma\Task::Using($argc, $argv)->Running();
            break;
        case 'WEB':
        default:
            \Norma\App::listen(new \Norma\Request());
            //->send();
            break;
    }
}
示例#2
0
 /**
  * 远程调用模块的操作方法 参数格式 [模块/控制器/]操作
  * @param string       $url          调用地址
  * @param string|array $vars         调用参数 支持字符串和数组
  * @param string       $layer        要调用的控制层名称
  * @param bool         $appendSuffix 是否添加类名后缀
  * @return mixed
  */
 public static function action($url, $vars = [], $layer = 'Controller', $appendSuffix = false)
 {
     $info = pathinfo($url);
     $action = $info['basename'];
     $module = '.' != $info['dirname'] ? $info['dirname'] : \Norma\Request::instance()->controller();
     $class = self::controller($module, $layer, $appendSuffix);
     if ($class) {
         if (is_scalar($vars)) {
             if (strpos($vars, '=')) {
                 parse_str($vars, $vars);
             } else {
                 $vars = [$vars];
             }
         }
         return \Norma\App::invokeMethod([$class, $action . \Norma\Config::get('action_suffix')], $vars);
     }
 }
示例#3
0
 public function defaultAppAfterInitialize()
 {
     //执行应用
     \Norma\App::execute('web');
 }