- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
yii2.0的应用主体
应用主体
应用主体是管理 Yii 应用系统整体结构和生命周期的对象。 每个Yii应用系统只能包含一个应用主体, 应用主体在?入口脚本?中创建并能通过表达式?\Yii::$app?全局范围内访问。
Info: 当我们说一个应用,它可能是一个应用主体对象,也可能是一个应用系统, 是根据上下文来决定[译:中文为避免歧义,Application翻译为应用主体]。
Yii有两种应用主体: yii\web\Application and yii\console\Application, 如名称所示,前者主要处理网页请求,后者处理控制台请求。
应用主体配置
如下所示,当?入口脚本?创建了一个应用主体, 它会加载一个?配置?文件并传给应用主体。
require(__DIR__ . /../vendor/autoload.php);require(__DIR__ . /../vendor/yiisoft/yii2/Yii.php);
// 加载应用主体配置
$config = require(__DIR__ . /../config/web.php);
// 实例化应用主体、配置应用主体
(new yii\web\Application($config))-run();
类似其他?配置?文件, 应用主体配置文件标明如何设置应用对象初始属性。 由于应用主体配置比较复杂, 一般保存在多个类似如上web.php的?配置文件?当中。
应用主体属性
应用主体配置文件中有许多重要的属性要配置, 这些属性指定应用主体的运行环境。 比如,应用主体需要知道如何加载?控制器?, 临时文件保存到哪儿等等。以下我们简述这些属性。
必要属性
在一个应用中,至少要配置2个属性: yii\base\Application::id 和 yii\base\Application::basePath。
yii\base\Application::id
yii\base\Application::id 属性用来区分其他应用的唯一标识ID。 主要给程序使用。为了方便协作,最好使用数字作为应用主体ID, 但不强制要求为数字。
yii\base\Application::basePath
yii\base\Application::basePath 指定该应用的根目录。 根目录包含应用系统所有受保护的源代码。 在根目录下可以看到对应MVC设计模式的models,?views,?controllers等子目录。
可以使用路径或?路径别名?来在配置 yii\base\Application::basePath 属性。 两种格式所对应的目录都必须存在,否则系统会抛出一个异常。 系统会使用?realpath()?函数规范化配置的路径.
yii\base\Application::basePath 属性经常用于派生一些其他重要路径(如runtime路径), 因此,系统预定义?@app?代表这个路径。 派生路径可以通过这个别名组成(如@app/runtime代表runtime的路径)。
重要属性
本小节所描述的属性通常需要设置, 因为不同的应用属性不同。
yii\base\Application::aliases
该属性允许你用一个数组定义多个?别名。 数组的key为别名名称,值为对应的路径。 例如:
[
aliases = [
@name1 = path/to/path1,
@name2 = path/to/path2,
],
]
使用这个属性来定义别名, 代替 Yii::setAlias() 方法来设置。
yii\base\Application::bootstrap
这个属性很实用,它允许你用数组指定启动阶段 yii\base\Application::bootstrap()需要运行的组件。 比如,如果你希望一个?模块?自定义URL 规则, 你可以将模块ID加入到bootstrap数组中。
属性中的每个组件需要指定以下一项:
应用?组件?ID.
模块?ID.
类名.
配置数组.
创建并返回一个组件的无名称函数.
例如:
[
bootstrap = [
// 应用组件ID或模块ID
demo,
// 类名
app\components\Profiler,
// 配置数组
[
class = app\components\Profiler,
level = 3,
],
// 无名称函数
function () {
re
文档评论(0)