本文整理匯總了PHP中think\Debug::output方法的典型用法代碼示例。如果您正苦於以下問題:PHP Debug::output方法的具體用法?PHP Debug::output怎麽用?PHP Debug::output使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類think\Debug
的用法示例。
在下文中一共展示了Debug::output方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getId
public static function getId()
{
$user = static::get();
if (isset($user['id'])) {
return $user['id'];
} else {
Debug::output(new Exception("不存在請求的user_id"));
}
}
示例2: _empty
/**
* 空方法執行請求方法屬性的檢查
* 查找相對應的get, post, put, delete等方法並執行
*
* @return void
*/
public function _empty()
{
try {
$method = $this->_method;
// 當前http請求方法
$current = strtolower($_SERVER['REQUEST_METHOD']);
if (in_array($current, $method)) {
$class = $current . '_' . ACTION_NAME;
// 是否存在this/get_login
if (method_exists($this, $class)) {
$this->{$class}();
} else {
if (method_exists($this, $current)) {
$this->{$current}();
} else {
throw new Exception("不存在指定的控製器方法");
}
}
} else {
throw new Exception("不存在'{$method}'方法");
}
} catch (Exception $e) {
Debug::output($e);
}
}
示例3: exec
/**
* 執行controller->action
*
* @return void
*/
public static function exec()
{
// Controller name 安全過濾
if (!preg_match('/^[A-Za-z](\\w)*$/', CONTROLLER_NAME)) {
$module = false;
} else {
$module = Import::controller(GROUP_NAME, CONTROLLER_NAME);
}
// 執行空控製器
try {
if (!$module) {
$module = Import::controller(GROUP_NAME, 'Empty');
if (!$module) {
throw new Exception("Controller不存在,\"" . CONTROLLER_NAME . "\"");
}
}
} catch (Exception $error) {
Debug::output($error);
}
// 獲取控製器操作名
$action = ACTION_NAME;
// 定義模板名稱
Config::set('TEMPLATE_NAME', THEME_PATH . CONTROLLER_NAME . '/' . $action . '.html');
try {
// Action name 安全過濾
if (!preg_match('/^[A-Za-z](\\w)*$/', $action)) {
throw new ReflectionException();
}
// 對當前控製器的方法執行操作映射
$method = new ReflectionMethod($module, $action);
// public方法
if ($method->isPublic()) {
// 映射執行
$class = new ReflectionClass($module);
// 前置操作
if ($class->hasMethod('_before_' . $action)) {
$before = $class->getMethod('_before_' . $action);
// public並執行
if ($before->isPublic()) {
$before->invoke($module);
}
}
// URL參數綁定檢測
if (Config::get('URL_PARAMS_BIND') && $method->getNumberOfParameters() > 0) {
switch ($_SERVER['REQUEST_METHOD']) {
case 'POST':
$vars = $_POST;
break;
case 'PUT':
parse_str(file_get_contents('php://input'), $vars);
break;
default:
$vars = $_GET;
}
$params = $method->getParameters();
foreach ($params as $param) {
$name = $param->getName();
if (isset($vars[$name])) {
$args[] = $vars[$name];
} elseif ($param->isDefaultValueAvailable()) {
$args[] = $param->getDefaultValue();
} else {
Debug::throw_exception(L('_PARAM_ERROR_') . ':' . $name);
}
}
$method->invokeArgs($module, $args);
} else {
$method->invoke($module);
}
// 後置操作
if ($class->hasMethod('_after_' . $action)) {
$after = $class->getMethod('_after_' . $action);
// public並執行
if ($after->isPublic()) {
$after->invoke($module);
}
}
} else {
throw new ReflectionException();
}
} catch (ReflectionException $e) {
// 方法調用發生異常後 引導到__call方法處理
$method = new ReflectionMethod($module, '__call');
$method->invokeArgs($module, array($action, ''));
}
}
示例4: set_category_id
/**
* set_category_id獲得方式
*/
protected function set_category_id()
{
if ($this->category_id_require && !isset($_GET[$this->category_query_name])) {
Debug::output(new Exception('沒有提供:' . $this->category_query_name));
}
if ($this->category_id_auto_set && isset($_GET[$this->category_query_name])) {
$this->category_id = $_GET[$this->category_query_name];
}
}
示例5: _404
/**
* 404處理
* 調試模式會拋異常
* 部署模式下麵傳入url參數可以指定跳轉頁麵,否則發送404信息
* @param string $msg 提示信息
* @param string $url 跳轉URL地址
* @return void
*/
public static function _404($message = '', $url)
{
if (APP_DEBUG) {
Debug::output(new Exception($message));
} else {
static::send_http_status(404);
exit;
}
}