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; } }
/** * 远程调用模块的操作方法 参数格式 [模块/控制器/]操作 * @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); } }
public function defaultAppAfterInitialize() { //执行应用 \Norma\App::execute('web'); }