应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备

应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备

ID:7066787

大小:354.50 KB

页数:26页

时间:2018-02-04

应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备_第1页
应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备_第2页
应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备_第3页
应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备_第4页
应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备_第5页
资源描述:

《应用yii1.1和php5进行敏捷web开发_第十三章:迭代10:上线、投产准备》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第十三章:迭代10:上线/投产准备尽管我们的应用程序还有很多功能上的不足,(虚构)截止日期的临近和客户对产品投入生产环境感到很焦虑。但在投产之前还有一些事值得做。这正是我们最后一次迭代需要完成的工作。迭代计划我们将专注与以下任务,使得我们的应用程序适应生产环境:§启动Yii的应用程序日志框架,使得所有致命的错误和事件都被记录下来§启动Yii的错误控制框架,使得我们能明白它在开发与生产环境中的不同§启动应用程序数据缓存来帮助增进性能日志日志是在应用程序开发的最后一步应该被提起的一个主题。信息,警告,严重

2、错误信息在引起应用程序崩溃时时非常有价值的,在生产环境中它们大多被实际用户使用。Yii提供了一个弹性且可扩展的日志功能。日志信息可以依据日志等级和信息类型被分类。通过使用等级和类型过滤器,使得被选中的信息被路由至不同目的地,比如写入磁盘文件,发送至管理员信箱,或者显示在浏览器窗口中。日志信息每次请求的时候我们的应用程序都会记录大量信息。当程序被初始化完成后,程序被配置成调试模式,并且在该模式下Yii框架自身记录日志信息。我们可以查看到该信息,因为默认的这些信息被保存在内存中。因此,它们的生存周期与请求

3、相同。根目录的index.php文件中的如下代码,决定了应用程序是否处于调试模式:PHP代码:defined('YII_DEBUG')ordefine('YII_DEBUG',true);让我们在SiteController类添加一个小action来看看被记录的内容,代码如下:PHP代码:publicfunctionactionShowLog(){echo"LoggedMessages:

";var_dump(Yii::getLogger()->getLogs());}如果我们通过请求:

4、http://localhost/trackstar/site/showLog来调用该action,我们将看到与下面类似的画面:如果我们注释掉在index.php中定义的全局应用程序条件变量,并刷新页面,我们将看不到日志内容。这是因为系统级调试信息等级事通过Yii::trace来创建的,只有当应用程序处于该特殊调试模式下才会记录信息。我们可以通过以下2个静态方法中的一个来记录信息:§Yii::log($message,$level,$category)§Yii::trace($message,$cat

5、egory)好像之前提到的,俩者的唯一区别就是Yii::trace方法只在调试模式下记录信息。类型和等级当记录一个信息,我们需要指定它的类型和等级。类型是表现为xxx.yyy.zzz格式的类似路径代理的字符串。例如,如果在SiteController类中记录一条信息,我们可以选择使用application.controllers.SiteController作为类型。类型为被记录信息提供了而外的内容。另外当使用Yii::log为被记录信息指定一个类型时可以同时指定一个等级。等级可以被认为是该消息的缩略

6、。虽然你可以自定义等级,但是一般我们使用以下的一种:§Trace:这一等级一般被用来基于开发环境的应用程序工作流§Info:这个是日志的大概内容,而且也是未指定下的默认类型§Profile:这一等级被用来描述上面提到的性能方面的功能§Warning:警告信息§Error:错误信息添加一个登录日志信息作为一个例子,让我们为用户登录方法添加一些日志。我们将在该方法的开头添加一些基本调试信息,用来标识该方法正在被执行。然后在登录成功时我们将记录一个信息性的消息,同样的在登录失败时记录一个警告。按照如下代码修

7、改我们的SiteController::actionLogin()方法:PHP代码:/***Displaystheloginpage*/publicfunctionactionLogin(){Yii::app()->language='rev';Yii::trace("TheactionLogin()methodisbeingrequested","application.controllers.SiteController");if(!Yii::app()->user->isGuest){$this

8、->redirect(Yii::app()->homeUrl);}$model=newLoginForm;//ifitisajaxvalidationrequestif(isset($_POST['ajax'])&&$_POST['ajax']==='login-form'){echoCActiveForm::validate($model);Yii::app()->end();}//collectuserinputdataif(isset($_POST

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。