yii学习笔记(一) 应用程序Application

简介: Application 代表处理客户端请求的执行环境。它的主要任务是解析用户请求并将之指派给合适的控制器以进行下一步的处理。它也作为保持应用程序级配置的中心场所,应用程序也被叫做前端控制器。Application是由入口脚本创建的单例,可在任何位置通过Yii::app()访问。

Application

代表处理客户端请求的执行环境。它的主要任务是解析用户请求并将之指派给合适的控制器以进行下一步的处理。它也作为保持应用程序级配置的中心场所,应用程序也被叫做前端控制器。
Application是由入口脚本创建的单例,可在任何位置通过Yii::app()访问。

Application的配置通常用一个独立的PHP脚本文件(protected/config/main.php)保存。我们可以将配置文件的文件名以参数的形式传递给application的构造函数;或者以如下形式传递给Yii::createWebApplication() ,通常在入口脚本进行传递。
$app=Yii::createWebApplication($configFile);

2.3.3 应用组件
Application的功能性可以很容易被自定义及扩展,这都依赖于它灵活的组件架构。application管理着一套应用组件,其每个组件实现一些特定的功能。如,application在CUrlManager与CHttpRequest组件的帮助下才能解析用户请求。

通过配置application的components属性,我们可以自定义app中任何使用的组件的类与属性值。比如,我们可以配置CMemCache组件以便它能使用多个memcache服务器进行缓存。

应用组件是按需创建的,这意味着如果用户请求期间应用组件未被访问它是可以不被创建的。

2.3.4 核心应用组件
Yii预先定义了一套核心的应用组件,这些组件提供了Web应用中通用的特性。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 格式化数据值的显示形式。
  messages:CPhpMessageSource 提供由Yii应用使用的转换过的消息。
  request:CHttpSession 提供与session相关的功能。
  statePersister:CStatePersister 提供全局状态持久方法。
  urlManager:CUrlManager 提供URL分析与创建的功能
  user:CWebUser 代表当前用户的身份信息
  themeManager:CThemeManager 管理主题
 
2.3.5 应用程序的生命周期
 

目录
相关文章
|
8月前
|
JSON 前端开发 数据库
如何创建自己的 Mini MVC 框架(如何无框架写个 Web App)
如何创建自己的 Mini MVC 框架(如何无框架写个 Web App)
|
存储 安全 数据安全/隐私保护
yii\web\IdentityInterface接口是干什么的?底层原理是什么?
yii\web\IdentityInterface接口是干什么的?底层原理是什么?
100 0
|
缓存 NoSQL 数据库连接
Yii2的核心组件有哪些?
Yii2的核心组件有哪些?
|
安全 Go
第十一章 CSP 架构 - Web Application Settings
第十一章 CSP 架构 - Web Application Settings
第十一章 CSP 架构 - Web Application Settings
|
前端开发
symfony2框架配置页面
symfony2框架配置页面
102 0
symfony2框架配置页面
|
安全 应用服务中间件 Apache
Yii2框架(六)Yii2.0框架部署nginx服务器
一直在apache服务器下开发yii2.0的项目,apache下的部署可能没有什么。服务器环境是nginx
267 0
Yii2框架(六)Yii2.0框架部署nginx服务器
|
Shell
SAP UI5 application component运行时加载的奥秘
Created by Jerry Wang, last modified on Aug 09, 2015 shell openSomething getServiceConfig parseShellHash Hash exec initiateApplication AppConfiguration.getMetadata
90 0
SAP UI5 application component运行时加载的奥秘
|
Web App开发 XML JSON
[RESTful web services读书笔记] 接口设计中维持XML和JSON表述的兼容性
分布式的客户端/服务器环境中必然涉及到变更管理,如何维护系统的可扩展性和兼容性? 问题描述:需求是持续变化的,在通常的接口设计中,如何保证服务端XML和JSON表述的变更与现有的客户端保持兼容 解决方案:保持原有的XMl和JSON数据分层结构整体不发生变化,确保客户端按照之前的调用方法可以继续工作 服务端需要把新增的数据元素设计为可选的,以此保持与客户端的兼容性,相对于URI来说,就是URI中添加了新参数时,要继续服务于现有参数,并将新参数视为可选 不要修改删除原有的响应正文表述的数据域  PS: REST架构风格的最主要驱动是分布性和扩展性。
1185 0
|
Windows 数据安全/隐私保护 安全