本文整理匯總了PHP中think\Debug::inject方法的典型用法代碼示例。如果您正苦於以下問題:PHP Debug::inject方法的具體用法?PHP Debug::inject怎麽用?PHP Debug::inject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類think\Debug
的用法示例。
在下文中一共展示了Debug::inject方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: run
/**
* 執行應用程序
* @access public
* @param Request $request Request對象
* @return Response
* @throws Exception
*/
public static function run(Request $request = null)
{
is_null($request) && ($request = Request::instance());
if ('ico' == $request->ext()) {
throw new HttpException(404, 'ico file not exists');
}
$config = self::initCommon();
try {
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
$request->langset(Lang::detect());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . $request->langset() . EXT);
if (!$config['app_multi_module']) {
Lang::load(APP_PATH . 'lang' . DS . $request->langset() . EXT);
}
}
// 獲取應用調度信息
$dispatch = self::$dispatch;
if (empty($dispatch)) {
// 進行URL路由檢測
$dispatch = self::routeCheck($request, $config);
}
// 記錄當前調度信息
$request->dispatch($dispatch);
// 記錄路由信息
self::$debug && Log::record('[ ROUTE ] ' . var_export($dispatch, true), 'info');
// 監聽app_begin
Hook::listen('app_begin', $dispatch);
switch ($dispatch['type']) {
case 'redirect':
// 執行重定向跳轉
$data = Response::create($dispatch['url'], 'redirect')->code($dispatch['status']);
break;
case 'module':
// 模塊/控製器/操作
$data = self::module($dispatch['module'], $config, isset($dispatch['convert']) ? $dispatch['convert'] : null);
break;
case 'controller':
// 執行控製器操作
$data = Loader::action($dispatch['controller'], $dispatch['params']);
break;
case 'method':
// 執行回調方法
$data = self::invokeMethod($dispatch['method'], $dispatch['params']);
break;
case 'function':
// 執行閉包
$data = self::invokeFunction($dispatch['function'], $dispatch['params']);
break;
case 'response':
$data = $dispatch['response'];
break;
default:
throw new \InvalidArgumentException('dispatch type not support');
}
} catch (HttpResponseException $exception) {
$data = $exception->getResponse();
}
// 清空類的實例化
Loader::clearInstance();
// 輸出數據到客戶端
if ($data instanceof Response) {
$response = $data;
} elseif (!is_null($data)) {
// 默認自動識別響應輸出類型
$isAjax = $request->isAjax();
$type = $isAjax ? Config::get('default_ajax_return') : Config::get('default_return_type');
$response = Response::create($data, $type);
} else {
$response = Response::create();
}
// 監聽app_end
Hook::listen('app_end', $response);
// Trace調試注入
if (Config::get('app_trace')) {
Debug::inject($response);
}
return $response;
}
示例2: send
/**
* 發送數據到客戶端
* @access public
* @return mixed
* @throws \InvalidArgumentException
*/
public function send()
{
// 處理輸出數據
$data = $this->getContent();
// Trace調試注入
if (Env::get('app_trace', Config::get('app_trace'))) {
Debug::inject($this, $data);
}
if (!headers_sent() && !empty($this->header)) {
// 發送狀態碼
http_response_code($this->code);
// 發送頭部信息
foreach ($this->header as $name => $val) {
header($name . ':' . $val);
}
}
if (200 == $this->code) {
$cache = Request::instance()->getCache();
if ($cache) {
header('Cache-Control: max-age=' . $cache[1] . ',must-revalidate');
header('Last-Modified:' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Expires:' . gmdate('D, d M Y H:i:s', $_SERVER['REQUEST_TIME'] + $cache[1]) . ' GMT');
$header['Content-Type'] = $this->header['Content-Type'];
Cache::set($cache[0], [$data, $header], $cache[1]);
}
}
echo $data;
if (function_exists('fastcgi_finish_request')) {
// 提高頁麵響應
fastcgi_finish_request();
}
// 監聽response_end
Hook::listen('response_end', $this);
}
示例3: send
/**
* 發送數據到客戶端
* @access public
* @return mixed
* @throws \InvalidArgumentException
*/
public function send()
{
// 處理輸出數據
$data = $this->getContent();
// Trace調試注入
if (Env::get('app_trace', Config::get('app_trace'))) {
Debug::inject($this, $data);
}
if (!headers_sent() && !empty($this->header)) {
// 發送狀態碼
http_response_code($this->code);
// 發送頭部信息
foreach ($this->header as $name => $val) {
header($name . ':' . $val);
}
}
echo $data;
if (function_exists('fastcgi_finish_request')) {
// 提高頁麵響應
fastcgi_finish_request();
}
}
示例4: send
/**
* 發送數據到客戶端
* @access public
* @return mixed
* @throws \InvalidArgumentException
*/
public function send()
{
// 處理輸出數據
$data = $this->getContent();
// Trace調試注入
if (Env::get('app_trace', Config::get('app_trace'))) {
Debug::inject($this, $data);
}
if (!headers_sent() && !empty($this->header)) {
// 發送狀態碼
http_response_code($this->code);
// 發送頭部信息
foreach ($this->header as $name => $val) {
header($name . ':' . $val);
}
}
echo $data;
if (200 == $this->code) {
$cache = Request::instance()->getCache();
if ($cache) {
Cache::set($cache[0], $data, $cache[1]);
Cache::set($cache[0] . '_header', $this->header['Content-Type']);
}
}
if (function_exists('fastcgi_finish_request')) {
// 提高頁麵響應
fastcgi_finish_request();
}
// 監聽response_end
Hook::listen('response_end', $this);
}