显示静态页面在controller中加入以下代码(如:IndexController)
public function actions()
{
return array(
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}
在protected/views/controllerID/pages加入静态页如about.php
以IndexController为例,对应地址就是protected/views/site/pages
访问地址 index.php?r=index/page&view=about 到自己所设定的静态页面
错误异常处理
默认情况下,Yii会将异常处理分配给CApplication::handleException, 将错误处理分配给CApplication::handleError,但是可以通过在入口文件中定义YII_ENABLE_EXCEPTION_HANDLER, YII_ENABLE_ERROR_HANDLER两个常量为false禁止使用Yii的异常和错误接管机制。
配置中为errorHandler组件定义了errorAction路由信息方式(在components中设置)
在此action中可以通过Yii::app()->errorHandler->error获得错误信息
'errorHandler'=>array(
// use 'error/error' action to display errors
'errorAction'=>'error/error',
),
当处于调试模式时,将直接渲染exception视图展示错误。将按以下路径搜索:
protected/views/system/exception.php
YII_PATH/views/exception.php
默认情况下并没有在应用程序中定义views/system目录,故会使用系统框架自带的视图文件。最终包含的文件将是Yii框架中的views/exception.php。在调试模式下如果我们要使用自定义异常页面(一般这么做的意义可能不大),则需要配置文件protected/views/system/exception.php, 可使用的变量即$data。
当处于非调试模式下时,会作如下处理:
1.配置文件中若为errorHandler组件定义了errorAction路由信息,则直接运行【推荐】,否则执行第2步流程。
2.尝试加载error视图,按以下路径搜索(第一个搜索到的文件将被使用)
protected/views/system/zh_cn/error500.php
protected/views/system/error500.php
protected/views/system/zh_cn/error.php
protected/views/system/error.php
YII_PATH/views/zh_cn/error500.php
YII_PATH/views/error500.php
YII_PATH/views/zh_cn/error.php
YII_PATH/views/error.php
Yii错误代码参数:
code
: HTTP 状态码(比如 403, 500);type
: 错误类型(比如 CHttpException,PHP Error
);message
: 错误信息;file
: 发生错误的PHP文件名;line
: 错误所在的行;trace
: 错误的调用栈信息;source
: 发生错误的代码的上下文。
转载于:https://blog.51cto.com/jinliang/1622213