Yii核心应用组件

来源:互联网 发布:ubuntu qt creator 编辑:程序博客网 时间:2024/05/14 11:05

核心应用组件 

Yii 预定义了一系列核心应用组件,提供常见 Web 应用中所用的功能。例如, request 组件用于解析用户请求并提供例如 URL,cookie 等信息。 通过配置这些核心组件的属性,我们可以在几乎所有的方面修改Yii 的默认行为。

下面我们列出了由 CWebApplication 预定义的核心组件。

  • assetManager: CAssetManager - 管理私有资源文件的发布。

  • authManager: CAuthManager - 管理基于角色的访问控制 (RBAC).

  • cache: CCache - 提供数据缓存功能。注意,你必须指定实际的类(例如CMemCache, CDbCache)。 否则,当你访问此组件时将返回 NULL。

  • clientScript: CClientScript - 管理客户端脚本 (javascripts 和 CSS).

  • coreMessages: CPhpMessageSource - 提供 Yii 框架用到的核心信息的翻译。

  • db: CDbConnection - 提供数据库连接。注意,使用此组件你必须配置其 connectionString 属性。

  • errorHandler: CErrorHandler - 处理未捕获的 PHP 错误和异常。

  • format: CFormatter - 格式化数值显示。此功能从版本 1.1.0 起开始提供。

  • messages: CPhpMessageSource - 提供Yii应用中使用的信息翻译。

  • request: CHttpRequest - 提供关于用户请求的信息。

  • securityManager: CSecurityManager - 提供安全相关的服务,例如散列,加密。

  • session: CHttpSession - 提供session相关的功能。

  • statePersister: CStatePersister - 提供全局状态持久方法。

  • urlManager: CUrlManager - 提供 URL 解析和创建相关功能

  • user: CWebUser - 提供当前用户的识别信息。

  • themeManager: CThemeManager - 管理主题。

应用的生命周期 

当处理用户请求时,应用将经历如下声明周期:

  1. 通过 CApplication::preinit() 预初始化应用;

  2. 设置类的自动装载器和错误处理;

  3. 注册核心类组件;

  4. 加载应用配置;

  5. 通过 CApplication::init() 初始化应用:

    • 注册应用行为;
    • 载入静态应用组件;
  6. 触发 onBeginRequest 事件;

  7. 处理用户请求:

    • 解析用户请求;
    • 创建控制器;
    • 运行控制器;
  8. 触发 onEndRequest 事件。

原创粉丝点击