Yii 框架应用(Applications)操作实例详解

2020-05-15 14:00:45王旭

如上所示,该属性包含一个扩展定义数组,每个扩展为一个包含 nameversion 项的数组。 如果扩展要在 引导启动 阶段运行, 需要配置 bootstrap以及对应的引导启动类名或 configuration 数组。 扩展也可以定义 别名

layout

该属性指定渲染 视图 默认使用的布局名字, 默认值为 'main' 对应布局路径下的 main.php 文件, 如果 布局路径 和 视图路径 都是默认值, 默认布局文件可以使用路径别名@app/views/layouts/main.php

如果不想设置默认布局文件,可以设置该属性为 false,这种做法比较罕见。

layoutPath

该属性指定查找布局文件的路径,默认值为 视图路径 下的 layouts 子目录。 如果 视图路径 使用默认值, 默认的布局路径别名为@app/views/layouts

该属性需要配置成一个目录或 路径 别名。

runtimePath

该属性指定临时文件如日志文件、缓存文件等保存路径, 默认值为带别名的 @app/runtime

可以配置该属性为一个目录或者路径 别名, 注意应用运行时有对该路径的写入权限, 以及终端用户不能访问该路径因为临时文件可能包含一些敏感信息。

为了简化访问该路径,Yii预定义别名 @runtime 代表该路径。

viewPath

该路径指定视图文件的根目录,默认值为带别名的 @app/views, 可以配置它为一个目录或者路径 别名.

vendorPath

该属性指定 Composer 管理的供应商路径, 该路径包含应用使用的包括Yii框架在内的所有第三方库。 默认值为带别名的 @app/vendor

可以配置它为一个目录或者路径 别名, 当你修改时,务必修改对应的 Composer 配置。

为了简化访问该路径,Yii 预定义别名 @vendor 代表该路径。

enableCoreCommands

该属性仅 console applications 控制台应用支持, 用来指定是否启用 Yii 中的核心命令,默认值为 true

应用事件

应用在处理请求过程中会触发事件,可以在配置文件配置事件处理代码, 如下所示:

[
 'on beforeRequest' => function ($event) {
  // ...
 },
]

on eventName 语法的用法在 Configurations 一节有详细描述.

另外,在应用主体实例化后,你可以在 引导启动 阶段附加事件处理代码, 例如:

Yii::$app->on(yiibaseApplication::EVENT_BEFORE_REQUEST, function ($event) {
 // ...
});

EVENT_BEFORE_REQUEST

该事件在应用处理请求before之前,实际的事件名为 beforeRequest

在事件触发前,应用主体已经实例化并配置好了, 所以通过事件机制将你的代码嵌入到请求处理过程中非常不错。 例如在事件处理中根据某些参数动态设置 yiibaseApplication::$language 语言属性。

相关文章 大家在看