对于需要限制某些用户访问的网页,我们需要使用验证(Authentication)和授权(Authorization)。验证是指核查一个人是否真的是他自己所声称的那个人。这通常需要一个用户名和密码,但也包括任何其他可以表明身份的方式,例如一个智能卡,指纹等等。授权则是找出已通过验证的用户是否允许操作特定的资源。这一般是通过查询此用户是否属于一个有权访问该资源的角色来判断的。Yii有一个内置的验证/授权(auth)框架,用起来很...
继续阅读 >
分类:Yii1
2014
11-07
11-07
Yii框架官方指南系列43——专题:URL(创建、路由、美化及自定义)
Web应用程序完整的URL管理包括两个方面。首先,当用户请求约定的URL,应用程序需要解析它变成可以理解的参数。第二,应用程序需求提供一种创造URL的方法,以便创建的URL应用程序可以理解的。对于Yii应用程序,这些通过CUrlManager辅助完成。1.CreatingURLs(创建网址)虽然URL可被硬编码在控制器的视图(view)文件,但往往可以很灵活地动态创建它们:$url=$this->createUrl($route,$params);$this指的是控制器实例; ...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列44——专题:Theming(主题)
Theming是一个在Web应用程序里定制网页外观的系统方式。通过采用一个新的主题,网页应用程序的整体外观可以立即和戏剧性的改变。在Yii,每个主题由一个目录代表,包含view文件,layout文件和相关的资源文件,如图片,CSS文件,JavaScript文件等。主题的名字就是他的目录名字。全部主题都放在在同一目录WebRoot/themes下。在任何时候,只有一个主题可以被激活。提示:默认的主题根目录WebRoot/themes可被配置成其他的。只需要...
继续阅读 >
2014
11-07
11-07
Yii框架官方教程增补版45——专题:日志记录
Yii提供了一个灵活可扩展的日志功能。记录的日志可以通过日志级别和信息分类进行归类。通过使用级别和分类过滤器,所选的信息还可以进一步路由到不同的目的地,例如一个文件,Email,浏览器窗口等。1.信息记录信息可以通过 Yii::log 或 Yii::trace 记录。其区别是后者只在当应用程序运行在调试模式(debugmode) 中时才会记录信息。Yii::log($message,$level,$category);Yii::trace($message,...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列46——专题:错误处理
Yii提供了一个完整的,基于PHP5异常处理的错误处理机制。当一个应用开始运行,进行用户请求的处理的时候,会注册handleError方法来处理PHPwarnings和notices信息;同时也注册加handleException方法来处理未被捕获的PHP异常。因此,如果在应用运行期间出现一个PHPwarning/notice或者一个未捕获的PHP异常,错误处理器就会接过控制权来运行必要的处理机制。提示: 错误处理器的注册是在应用中的constructor方法中进行的,使用了PH...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列47——专题:Web Service
Webservice 是一个软件系统,设计来支持计算机之间跨网络相互访问。在Web应用程序,它通常用一套API,可以被互联网访问和执行在远端系统主机上的被请求服务。系统主机所要求的服务。例如,以Flex为基础的客户端可能会援引函数实现在服务器端运行PHP的Web应用程序。Webservice依赖SOAP作为通信协议栈的基础层。Yii提供CWebService和CWebServiceAction简化了在Web应用程序实现Webservice。这些API以类形式实现,被称为service...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列增补版48——专题:国际化 (I18N)
国际化(译者注:即Internationalization,因为这个单词I和n之间有18个字母,因此常缩写为I18N)是指设计一种应用软件的过程,这种软件无需做大的工程改变就能适应不同的语言和地区的需要。对Web应用来说,国际化尤为重要,因为潜在的用户可能来自世界的各个角落。Yii在若干方面提供了对I18N的支持它为每种可能的语言和变量提供了本地化数据。它提了供信息和文件的翻译服务。它提供了基于本地化的日期和时间格式。...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列49——专题:使用非主流模板语法
Yii框架允许开发者使用自己喜好的模板语法(例如Prado,Smarty)来编写控制器或者挂件的视图.这可以通过编写和安装一个viewRenderer应用组件来实现.这个视图渲染器拦截CBaseController::renderFile的调用,通过自定义的模板语法编译视图文件,然后渲染最终编译结果.Info: 只有当编写的视图很少复用时才推荐使用自定义模板语法.否则的话,在应用中复用视图将会强制使用同样的模板语法.接下来,我们会介绍如何使用 CPradoView...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列50——专题:控制台应用
控制台应用主要用于实现在线Web应用所需要的离线操作,例如代码生成,搜索索引编译,邮件发送等等.Yii框架以面向对象的方式提供了一个编写控制台应用的框架.它允许控制台应用访问在线Web应用所使用的资源(例如数据库连接信息).1.概览Yii可以以命令行的方式运行每一个控制台任务,控制台命令是一个继承自CConsoleCommand的类。当我们使用 yiicwebapp 工具创建一个初始化的Yii应用骨架的时候,我们可以在protecte...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列51——专题:安全措施 (Security)
1.跨站脚本攻击的防范跨站脚本攻击(简称XSS),即web应用从用户收集用户数据。攻击者常常向易受攻击的web应用注入JavaScript,VBScript,ActiveX,HTML或Flash来迷惑访问者以收集访问者的信息。举个例子,一个未经良好设计的论坛系统可能不经检查就显示用户所输入的内容。攻击者可以在帖子内容中注入一段恶意的JavaScript代码。这样,当其他访客在阅读这个帖子的时候,这些JavaScript代码就可以在访客的电脑上运行了。一个...
继续阅读 >
2014
11-07
11-07
Yii框架官方指南系列52——专题:性能调整
网络应用程序的性能受很多因素的影响。数据库存取,文件系统操作,网络带宽等都是潜在的影响因素。Yii已在各个方面减少框架带来的性能影响。但是在用户的应用中仍有很多地方可以被改善来提高性能。1.开启APC扩展启用 PHPAPC扩展 可能是改善一个应用整体性能的最简单方式。此扩展缓存和优化PHP中间代码并避免时间花费再为每个新来的请求解析PHP脚本。2.禁用调试模式禁用调试模式是另一个改善性能的容易方式。若常量...
继续阅读 >