`
dcj3sjt126com
  • 浏览: 1867175 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

YII学习第十二天,当前用户相关

    博客分类:
  • YII
yii 
阅读更多

常用的用法是:

class Controller extends CController
{
    public $user = null;
    $this->user = Yii:app()->user;
}

 

this->user->isGuest; 
this->user->id; 
this->user->name; 

还有设置session 
this->user->setStatus('xx'); 
this->user->getStatus('xx'); 

查看一下手册后,发现user的属性和方法还真多。 

详细如下: 
CWebUser represents the persistent state for a Web application user. 

CWebUser is used as an application component whose ID is 'user'. Therefore, at any place one can access the user state via 

Yii::app()->user. 

CWebUser should be used together with an identity which implements the actual authentication algorithm. 

A typical authentication process using CWebUser is as follows: 
1.The user provides information needed for authentication. 
2.An identity instance is created with the user-provided information. 
3.Call IUserIdentity::authenticate to check if the identity is valid. 
4.If valid, call CWebUser::login to login the user, and Redirect the user browser to returnUrl. 
5.If not valid, retrieve the error code or message from the identity instance and display it. 


The property id and name are both identifiers for the user. The former is mainly used internally (e.g. primary key), while the 

latter is for display purpose (e.g. username). The id property is a unique identifier for a user that is persistent during the 

whole user session. It can be a username, or something else, depending on the implementation of the identity class. 

Both id and name are persistent during the user session. Besides, an identity may have additional persistent data which can be 

accessed by calling getState. Note, when cookie-based authentication is enabled, all these persistent data will be stored in 

cookie. Therefore, do not store password or other sensitive data in the persistent storage. Instead, you should store them 

directly in session on the server side if needed. 


1,属性 
allowAutoLogin      boolean        whether to enable cookie-based login. CWebUser 
authTimeout         integer        timeout in seconds after which user is logged out if inactive. CWebUser 
autoRenewCookie     boolean        whether to automatically renew the identity cookie each time a page is requested. CWebUser 
autoUpdateFlash     boolean        whether to automatically update the validity of flash messages. CWebUser 
behaviors           array          the behaviors that should be attached to this component. CApplicationComponent 
flashes             array          Returns all flash messages. CWebUser 
guestName           string         the name for a guest user. CWebUser 
id                  mixed          the unique identifier for the user. CWebUser 
identityCookie      array          the property values (in name-value pairs) used to initialize the identity cookie. CWebUser 
isGuest             boolean        whether the current application user is a guest. CWebUser 
isInitialized       boolean        Checks if this application component bas been initialized. CApplicationComponent 
loginUrl            string|array   the URL for login. CWebUser 
name                string         Returns the unique identifier for the user (e.g. username). CWebUser 
returnUrl           string         Returns the URL that the user should be redirected to after successful login. CWebUser 
stateKeyPrefix      string         a prefix for the name of the session variables storing user session data. CWebUser 



2,方法 
最基本的方法 
除了call, get, isset, set, unset方法之外,还有 
getIsInitialized() Checks if this application component bas been initialized. //一般不需要检查 
checkAccess() Performs access check for this user.   //检查用户可以访问的操作 
方法原型:public boolean checkAccess(string $operation, array $params=array ( ), boolean $allowCaching=true) 


基本方法 
getId() Returns the unique identifier for the user. If null, it means the user is a guest. 
setId() Sets the unique identifier for the user. If null, it means the user is a guest. 
getName() Returns the unique identifier for the user (e.g. username). 
setName() Sets the unique identifier for the user (e.g. username). 
setReturnUrl() Sets the URL that the user should be redirected to after login. 
getReturnUrl() Returns the URL that the user should be redirected to after successful login. 
canGetProperty() Determines whether a property can be read. 
canSetProperty() Determines whether a property can be set. 


登陆相关 
login() Logs in a user. CWebUser 
loginRequired() Redirects the user browser to the login page.//该方法非常好用 
logout() 
getIsGuest() 


增加行为相关 
attachBehavior() Attaches a behavior to this component. CComponent 
attachBehaviors() Attaches a list of behaviors to the component. 
detachBehavior() Detaches a behavior from the component. CComponent 
detachBehaviors() Detaches all behaviors from the component. CComponent 
disableBehavior() Disables an attached behavior. CComponent 
disableBehaviors() Disables all behaviors attached to this component. CComponent 
enableBehavior() Enables an attached behavior. CComponent 
enableBehaviors() Enables all behaviors attached to this component. 


session相关 
setState() Stores a variable in user session. // 是基于cookie-based authentication,所以不应存一些如密码等敏感信息 
getState() Returns the value of a variable that is stored in user session. 
hasState() Returns a value indicating whether there is a state of the specified name. 
clearStates() Clears all user identity information from persistent storage. 
setStateKeyPrefix() Sets a prefix for the name of the session variables storing user session data. 
getStateKeyPrefix() Returns a prefix for the name of the session variables storing user session data. 


flash相关 
hasFlash() Determines whether the specified flash message exists 
getFlash() Returns a flash message. 
setFlash() Stores a flash message. 
getFlashes() Returns all flash messages. 


事件相关 
raiseEvent() Raises an event. 
hasEvent() Determines whether an event is defined. 
hasEventHandler() Checks whether the named event has attached handlers. 
getEventHandlers() Returns the list of attached event handlers for an event. 
attachEventHandler() Attaches an event handler to an event. 
detachEventHandler() Detaches an existing event handler. 

分享到:
评论

相关推荐

    Yii2.0中文学习手册

    ### Yii2.0中文学习手册知识点总结 #### 一、简介 - **Yii2.0**是一款基于PHP的高性能Web应用程序开发框架,以其简洁、高效、安全的特点深受开发者喜爱。本手册旨在帮助初学者和进阶用户快速掌握Yii2.0的核心概念与...

    Yii框架学习笔记

    Yii框架是高效且灵活的PHP框架,专为Web 2.0应用开发而设计。自2008年1月薛强开始开发以来,Yii已经经历了多个版本迭代,从1.0.0到...通过深入学习和实践,开发者可以充分利用Yii的优势,提高开发效率和应用质量。

    Yii2—yii2学习—某课网学习笔记

    yii2学习笔记,一边看某课网一遍实践一遍总结,整理文档

    Yii框架学习手册

    Yii Yii框架 Yii框架快速入门,自己整理的很全的,很容易看懂

    Yii2.0学习笔记完全版

    Yii2.0学习笔记完全版 Yii2 Yii2.0 Yii2.0学习 Yii2.0学习笔记

    Yii框架学习笔记.pdf

    本篇学习笔记将详细介绍Yii框架的基本概念,包括请求处理流程、组件、事件与行为、错误和日志处理、国际化以及视图和控制台应用等方面。 ### 请求的处理流程 1. **项目入口脚本**:在Yii框架中,项目的入口脚本...

    yii2初学者

    7. 社区支持:Yii2拥有活跃的开发和用户社区,社区成员经常分享插件、教程和解决方案,这对于初学者来说是一个巨大的学习资源。 8. 全面的文档:Yii2有着详尽的官方文档,这些文档对于初学者来说是一个非常好的学习...

    Yii 2文件下载

    从标签"Yii 2.0"我们可以确认,这个压缩包的内容与Yii框架的第二个主要版本有关。 压缩包子文件的文件名称列表只给出了一项:"yii2-2.0.0",这很可能是指Yii 2.0的第一个稳定版本。通常,这个版本会包含框架的核心...

    yii框架中文手册教程

    8. 社区支持:Yii拥有活跃的社区和大量的第三方扩展,开发者可以通过社区获得帮助和丰富的插件资源。 安装Yii框架的过程相对简单,通常包括以下步骤: 1. 从官方网站下载Yii框架压缩包。 2. 将压缩包解压至Web...

    yii2数据缓存 学习笔记

    yii 学习笔记,其中包括数据缓存、缓存组件、缓存过期、缓存依赖的理解及yii2数据缓存的测试代码

    YII学习笔记

    **YII学习笔记** 在IT领域,Web开发框架是开发者们构建高效、可维护网站的重要工具,而YII就是其中的一员。这半个月的学习笔记详细记录了YII框架的基础知识和核心概念,对于初学者来说是一份宝贵的参考资料。YII,...

    yii框架中文手册教程和YII模板

    Yii框架是一款高效的、基于组件的PHP开发框架,用于...总之,Yii框架中文手册教程和YII模板资源是学习和开发Yii应用的宝贵资料。通过深入学习和实践,开发者可以充分利用Yii的强大功能,构建出高效、可扩展的Web应用。

    Yii权威指南思维导图

    综上所述,"Yii权威指南思维导图"是学习和掌握Yii框架不可或缺的辅助工具,它将复杂的框架结构和功能用简洁明了的图表展现出来,极大地提升了学习效率。通过仔细研究这个思维导图,开发者可以更深入地理解Yii的每一...

    Yii2.0视频教程

    - **扩展**:扩展是指第三方提供的额外功能包,可以轻松地为Yii应用添加新功能。 - 扩展安装:通过Composer安装所需的扩展包。 - 使用扩展:在项目中启用扩展,并按照文档说明进行配置。 #### 七、调试与日志 - ...

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    这个开发包包含了Yii框架的核心库、相关的文档和一个具体的博客应用实例,这对于初学者和有经验的开发者来说都是极好的学习资源。 首先,让我们深入了解一下Yii框架的核心特性: 1. **性能优化**:Yii 使用缓存...

    yii2 通用后台系统

    "yii2 通用后台系统"是一个基于Yii2框架构建的企业级后台管理系统,旨在提供一套全面、高效的后台管理解决方案,包括用户管理、权限控制、数据统计等功能,帮助开发者快速搭建稳定且功能丰富的后台应用。 在Yii2...

    深入理解Yii2.0

    《深入理解Yii2.0》是一本干货。主要讲解Yii2.0及所代表的最新一代Web开发框架的新特性、新技术、新理念、新模式。 采用的方式是分析框架的源代码,尝试从根上进行理解和阐述,并融入个人使用Yii开发的一些经验和...

    YII框架入门视频教程

    【Yii框架入门视频教程】是一套专为初学者设计的教育资源,旨在引导学习者进入Yii框架的世界。Yii,一个高性能的PHP框架,被广泛用于开发Web 2.0应用程序。本教程通过一系列视频,逐步讲解了框架的基本概念、数据库...

Global site tag (gtag.js) - Google Analytics