显示静态页面在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: 错误类型(比如 CHttpExceptionPHP Error);

  • message: 错误信息;

  • file: 发生错误的PHP文件名;

  • line: 错误所在的行;

  • trace: 错误的调用栈信息;

  • source: 发生错误的代码的上下文。