本文整理匯總了PHP中Lang::range方法的典型用法代碼示例。如果您正苦於以下問題:PHP Lang::range方法的具體用法?PHP Lang::range怎麽用?PHP Lang::range使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Lang
的用法示例。
在下文中一共展示了Lang::range方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化公共模塊
self::initModule(COMMON_MODULE, Config::get());
// 讀取擴展配置文件
if (Config::get('extra_config_list')) {
foreach (Config::get('extra_config_list') as $file) {
Config::load($file, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
}
// 啟動session CLI 不開啟
if (!IS_CLI && $config['use_session']) {
Session::init($config['session']);
}
// 應用URL調度
self::dispatch($config);
// 監聽app_run
APP_HOOK && Hook::listen('app_run');
// 執行操作
if (!preg_match('/^[A-Za-z](\\/|\\.|\\w)*$/', CONTROLLER_NAME)) {
// 安全檢測
throw new Exception('illegal controller name:' . CONTROLLER_NAME, 10000);
}
if (Config::get('action_bind_class')) {
$class = self::bindActionClass(Config::get('empty_controller'));
$instance = new $class();
// 操作綁定到類後 固定執行run入口
$action = 'run';
} else {
$instance = Loader::controller(CONTROLLER_NAME, '', Config::get('empty_controller'));
// 獲取當前操作名
$action = ACTION_NAME . Config::get('action_suffix');
}
if (!$instance) {
throw new Exception('class [ ' . Loader::parseClass(MODULE_NAME, CONTROLLER_LAYER, CONTROLLER_NAME) . ' ] not exists', 10001);
}
try {
// 操作方法開始監聽
$call = [$instance, $action];
APP_HOOK && Hook::listen('action_begin', $call);
if (!preg_match('/^[A-Za-z](\\w)*$/', $action)) {
// 非法操作
throw new \ReflectionException();
}
//執行當前操作
$method = new \ReflectionMethod($instance, $action);
if ($method->isPublic()) {
// URL參數綁定檢測
if (Config::get('url_params_bind') && $method->getNumberOfParameters() > 0) {
// 獲取綁定參數
$args = self::getBindParams($method, Config::get('url_parmas_bind_type'));
// 全局過濾
array_walk_recursive($args, 'think\\Input::filterExp');
$data = $method->invokeArgs($instance, $args);
} else {
$data = $method->invoke($instance);
}
// 操作方法執行完成監聽
APP_HOOK && Hook::listen('action_end', $data);
// 輸出數據
return Response::send($data, Response::type(), Config::get('response_return'));
} else {
// 操作方法不是Public 拋出異常
throw new \ReflectionException();
}
} catch (\ReflectionException $e) {
// 操作不存在
if (method_exists($instance, '_empty')) {
$method = new \ReflectionMethod($instance, '_empty');
//.........這裏部分代碼省略.........
示例2: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run(array $config = [])
{
// 初始化公共模塊
self::initModule(COMMON_MODULE, $config);
// 讀取擴展配置文件
if ($config['extra_config_list']) {
foreach ($config['extra_config_list'] as $file) {
Config::load($file, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 如果啟動SocketLog調試, 進行SocketLog配置
if (SLOG_ON) {
Slog::config($config['slog']);
}
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 默認語言
$lang = strtolower($config['default_lang']);
Lang::range($lang);
// 加載默認語言包
Lang::load(THINK_PATH . 'Lang/' . $lang . EXT);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 啟動session API CLI 不開啟
if (!IS_CLI && !IS_API && $config['use_session']) {
Session::init($config['session']);
}
// 應用URL調度
self::dispatch($config);
// 監聽app_run
APP_HOOK && Hook::listen('app_run');
// 執行操作
if (!preg_match('/^[A-Za-z](\\/|\\.|\\w)*$/', CONTROLLER_NAME)) {
// 安全檢測
throw new Exception('illegal controller name:' . CONTROLLER_NAME, 10000);
}
if (Config::get('action_bind_class')) {
$class = self::bindActionClass(Config::get('empty_controller'));
$instance = new $class();
// 操作綁定到類後 固定執行run入口
$action = 'run';
} else {
$instance = Loader::controller(CONTROLLER_NAME, '', Config::get('empty_controller'));
// 獲取當前操作名
$action = ACTION_NAME . Config::get('action_suffix');
}
if (!$instance) {
throw new Exception('class [ ' . MODULE_NAME . '\\' . CONTROLLER_LAYER . '\\' . Loader::parseName(str_replace('.', '\\', CONTROLLER_NAME), 1) . ' ] not exists', 10001);
}
try {
// 操作方法開始監聽
$call = [$instance, $action];
APP_HOOK && Hook::listen('action_begin', $call);
if (!preg_match('/^[A-Za-z](\\w)*$/', $action)) {
// 非法操作
throw new \ReflectionException();
}
//執行當前操作
$method = new \ReflectionMethod($instance, $action);
if ($method->isPublic()) {
// URL參數綁定檢測
if (Config::get('url_params_bind') && $method->getNumberOfParameters() > 0) {
// 獲取綁定參數
$args = self::getBindParams($method, Config::get('url_parmas_bind_type'));
// 全局過濾
array_walk_recursive($args, 'think\\Input::filterExp');
$data = $method->invokeArgs($instance, $args);
} else {
$data = $method->invoke($instance);
}
// 操作方法執行完成監聽
APP_HOOK && Hook::listen('action_end', $data);
// 返回數據
Response::returnData($data, Config::get('default_return_type'), Config::get('response_exit'));
} else {
// 操作方法不是Public 拋出異常
throw new \ReflectionException();
}
} catch (\ReflectionException $e) {
// 操作不存在
if (method_exists($instance, '_empty')) {
$method = new \ReflectionMethod($instance, '_empty');
$data = $method->invokeArgs($instance, [$action, '']);
// 返回數據
Response::returnData($data, Config::get('default_return_type'), Config::get('response_exit'));
} else {
throw new Exception('method [ ' . (new \ReflectionClass($instance))->getName() . '->' . $action . ' ] not exists ', 10002);
}
}
//.........這裏部分代碼省略.........
示例3: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化應用(公共模塊)
self::initModule(COMMON_MODULE, Config::get());
// 讀取擴展配置文件
if (Config::get('extra_config_list')) {
foreach (Config::get('extra_config_list') as $name => $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
Config::load($file, is_string($name) ? $name : pathinfo($file, PATHINFO_FILENAME));
}
}
// 獲取配置參數
$config = Config::get();
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
if (!APP_MULTI_MODULE) {
Lang::load(APP_PATH . 'lang' . DS . LANG_SET . EXT);
}
}
// 啟動session CLI 不開啟
if (!IS_CLI && $config['use_session']) {
Session::init($config['session']);
}
if (empty(self::$dispatch['type'])) {
// 未指定調度類型 則進行URL路由檢測
self::route($config);
}
// 監聽app_begin
APP_HOOK && Hook::listen('app_begin');
// 根據類型調度
switch (self::$dispatch['type']) {
case 'redirect':
// 執行重定向跳轉
header('Location: ' . self::$dispatch['url'], true, self::$dispatch['status']);
break;
case 'module':
// 模塊/控製器/操作
$data = self::module(self::$dispatch['module'], $config);
break;
case 'controller':
// 執行控製器操作
$data = Loader::action(self::$dispatch['controller'], self::$dispatch['params']);
break;
case 'method':
// 執行回調方法
$data = self::invokeMethod(self::$dispatch['method'], self::$dispatch['params']);
break;
case 'function':
// 規則閉包
$data = self::invokeFunction(self::$dispatch['function'], self::$dispatch['params']);
break;
default:
throw new Exception('dispatch type not support', 10008);
}
// 監聽app_end
APP_HOOK && Hook::listen('app_end', $data);
// 輸出數據到客戶端
return Response::send($data, Response::type(), Config::get('response_return'));
}
示例4: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化應用(公共模塊)
self::initModule(COMMON_MODULE, Config::get());
// 獲取配置參數
$config = Config::get();
// 注冊根命名空間
if (!empty($config['root_namespace'])) {
Loader::addNamespace($config['root_namespace']);
}
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
if (!APP_MULTI_MODULE) {
Lang::load(APP_PATH . 'lang' . DS . LANG_SET . EXT);
}
}
if (empty(self::$dispatch['type'])) {
// 未指定調度類型 則進行URL路由檢測
self::route($config);
}
// 記錄路由信息
APP_DEBUG && Log::record('[ ROUTE ] ' . var_export(self::$dispatch, true), 'info');
// 監聽app_begin
APP_HOOK && Hook::listen('app_begin');
// 根據類型調度
switch (self::$dispatch['type']) {
case 'redirect':
// 執行重定向跳轉
header('Location: ' . self::$dispatch['url'], true, self::$dispatch['status']);
break;
case 'module':
// 模塊/控製器/操作
$data = self::module(self::$dispatch['module'], $config);
break;
case 'controller':
// 執行控製器操作
$data = Loader::action(self::$dispatch['controller'], self::$dispatch['params']);
break;
case 'method':
// 執行回調方法
$data = self::invokeMethod(self::$dispatch['method'], self::$dispatch['params']);
break;
case 'function':
// 規則閉包
$data = self::invokeFunction(self::$dispatch['function'], self::$dispatch['params']);
break;
default:
throw new Exception('dispatch type not support', 10008);
}
// 監聽app_end
APP_HOOK && Hook::listen('app_end', $data);
// 輸出數據到客戶端
if (Config::get('response_auto_output')) {
// 自動響應輸出
return Response::send($data, Response::type(), Config::get('response_return'));
}
}
示例5: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化應用(公共模塊)
self::initModule(COMMON_MODULE, Config::get());
// 讀取擴展配置文件
if (Config::get('extra_config_list')) {
foreach (Config::get('extra_config_list') as $file) {
Config::load($file, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
}
// 啟動session CLI 不開啟
if (!IS_CLI && $config['use_session']) {
Session::init($config['session']);
}
// URL路由檢測
$dispatch = self::route($config);
// 監聽app_begin
APP_HOOK && Hook::listen('app_begin', $dispatch);
// 根據類型調度
switch ($dispatch['type']) {
case 'redirect':
// 執行重定向跳轉
header('Location: ' . $dispatch['url'], true, $dispatch['status']);
break;
case 'module':
// 模塊/控製器/操作
$data = self::module($dispatch['data'], $config);
break;
case 'action':
// 執行操作
$data = Loader::action($dispatch['action'], $dispatch['params']);
break;
case 'behavior':
// 執行行為
$data = Hook::exec($dispatch['class'], $dispatch['method'], $dispatch['params']);
break;
case 'regex_closure':
// 正則閉包
$data = self::invokeRegex($dispatch['closure'], $dispatch['params']);
break;
case 'rule_closure':
// 規則閉包
$data = self::invokeRule($dispatch['closure'], $dispatch['params']);
break;
default:
throw new Exception('dispatch type not support', 10008);
}
// 監聽app_end
APP_HOOK && Hook::listen('app_end', $data);
// 輸出數據到客戶端
return Response::send($data, Response::type(), Config::get('response_return'));
}
示例6: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化應用(公共模塊)
self::initModule(COMMON_MODULE, Config::get());
// 讀取擴展配置文件
if (Config::get('extra_config_list')) {
foreach (Config::get('extra_config_list') as $file) {
Config::load($file, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
}
// 啟動session CLI 不開啟
if (!IS_CLI && $config['use_session']) {
Session::init($config['session']);
}
if (empty(self::$dispatch['type'])) {
// 未指定調度類型 則進行URL路由檢測
self::route($config);
}
// 監聽app_begin
APP_HOOK && Hook::listen('app_begin');
// 根據類型調度
switch (self::$dispatch['type']) {
case 'redirect':
// 執行重定向跳轉
header('Location: ' . self::$dispatch['url'], true, self::$dispatch['status']);
break;
case 'module':
// 模塊/控製器/操作
$data = self::module(self::$dispatch['data'], $config);
break;
case 'controller':
// 執行控製器操作
$data = Loader::action(self::$dispatch['controller'], self::$dispatch['params']);
break;
case 'callable':
// 執行回調方法
$callable = self::$dispatch['callable'];
if (is_callable($callable)) {
$data = is_array($callable) ? self::reflectionInvoke(new $callable[0](), $callable[1]) : call_user_func_array($callable, self::$dispatch['params']);
// 靜態方法或者函數
} else {
throw new Exception('not callable : ' . (is_array($callable) ? implode('->', $callable) : $callable), 10009);
}
break;
case 'closure':
// 規則閉包
$data = self::invoke(self::$dispatch['closure'], self::$dispatch['params']);
break;
default:
throw new Exception('dispatch type not support', 10008);
}
// 監聽app_end
APP_HOOK && Hook::listen('app_end', $data);
// 輸出數據到客戶端
return Response::send($data, Response::type(), Config::get('response_return'));
}