没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\BaseYii

继承yii\BaseYii
子类Yii
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/BaseYii.php

BaseYii 是 Yii 框架的核心助手类。

不要直接使用 BaseYii。 相反,使用它的子类 Yii 来自定义 BaseYii 的方法。

公共属性

隐藏继承的属性

属性类型描述被定义在
$aliases array 注册路径别名 yii\BaseYii
$app yii\console\Application|yii\web\Application 应用程序实例 yii\BaseYii
$classMap array Yii 自动加载机制使用的类映射。 数组键是类名(没有前导反斜杠), 数组值是相应的类文件路径(或 路径别名)。 此属性主要影响 autoload() 的工作方式。 yii\BaseYii
$container yii\di\Container createObject() 使用的依赖注入(DI)容器。 您可以使用 yii\di\Container::set() 来设置类及其初始属性值所需的依赖项。 yii\BaseYii

公共方法

隐藏继承的方法

方法描述被定义在
autoload() 类自动加载器。 yii\BaseYii
beginProfile() 标记代码块的开头以进行性能分析。 yii\BaseYii
configure() 使用初始属性值配置对象。 yii\BaseYii
createObject() 使用给定配置创建新对象。 yii\BaseYii
debug() 记录调试消息。 跟踪消息主要用于开发目的, 以查看某些代码的执行工作流程。 此方法仅在应用程序处于调试模式时记录消息。 yii\BaseYii
endProfile() 标记代码块的结尾以进行性能分析。 这必须与先前使用相同类别名称的 beginProfile() 调用相匹配。 yii\BaseYii
error() 记录错误消息。 在执行应用程序期间发生不可恢复的错误时, 通常会记录错误消息。 yii\BaseYii
getAlias() 将路径别名转换为实际路径。 yii\BaseYii
getLogger() yii\BaseYii
getObjectVars() 返回对象的公共成员变量。 提供此方法使得我们可以获取对象的公共成员变量。 它与“get_object_vars()” 不同,因为如果在对象本身内调用它,后者将返回 private 和 protected 变量。 yii\BaseYii
getRootAlias() 返回给定别名的根别名部分。 根别名是先前通过 setAlias() 注册的别名。 如果给定的别名与多个根别名匹配,则将返回最长的别名。 yii\BaseYii
getVersion() 返回表示 Yii 框架当前版本的字符串。 yii\BaseYii
info() 记录信息性消息。 通常由应用程序记录信息性消息以保持重要事件的记录 (例如,管理员登录)。 yii\BaseYii
powered() 返回可显示在网页上的 HTML 超链接,其中显示“Powered by Yii Framework”的信息。 yii\BaseYii
setAlias() 注册路径别名。 yii\BaseYii
setLogger() 设置记录器对象。 yii\BaseYii
t() 将信息转换为指定的语言。 yii\BaseYii
trace() debug() 的别名。 yii\BaseYii
warning() 记录警告消息。 当执行仍然可以继续时发生错误时, 通常会记录警告消息。 yii\BaseYii

属性详情

$aliases 公共 静态 属性

注册路径别名

参见:

public static array $aliases = ['@yii' => __DIR__]
$app 公共 静态 属性

应用程序实例

$classMap 公共 静态 属性

Yii 自动加载机制使用的类映射。 数组键是类名(没有前导反斜杠), 数组值是相应的类文件路径(或 路径别名)。 此属性主要影响 autoload() 的工作方式。

参见 autoload().

public static array $classMap = []
$container 公共 静态 属性

createObject() 使用的依赖注入(DI)容器。 您可以使用 yii\di\Container::set() 来设置类及其初始属性值所需的依赖项。

参见:

public static yii\di\Container $container null

方法详情

autoload() 公共 静态 方法

类自动加载器。

当 PHP 发现一个未知类时,会自动调用此方法。 该方法将尝试根据以下过程包含类文件:

  1. $classMap 中搜索;
  2. 如果是带命名空间的类(例如 yii\base\Component), 它将尝试包含与相应路径别名相关联的文件 (例如 @yii/base/Component.php);

此自动加载器允许加载遵循 PSR-4 标准 的类,并将其顶级命名空间或子命名空间定义为路径别名。

示例:当定义别名 @yii@yii/bootstrap 时,将使用 yii\bootstrap 别名加载 @yii/bootstrap 命名空间中的类, 该别名指向安装引导程序扩展文件的目录 并且将从 yii 框架目录加载来自其他 yii 命名空间的所有类。

还有自动加载指南

public static void autoload($className)
$className string

没有前导反斜杠“\”的完全限定类名

throws yii\base\UnknownClassException

如果类文件中不存在该类

beginProfile() 公共 静态 方法

标记代码块的开头以进行性能分析。

这必须与具有相同类别名称的 endProfile() 调用相匹配。 开始和结束调用也必须正确嵌套。例如,

\Yii::beginProfile('block1');
// 一些要分析的代码
    \Yii::beginProfile('block2');
    // 一些其他要分析的代码
    \Yii::endProfile('block2');
\Yii::endProfile('block1');

参见 endProfile().

public static void beginProfile($token, $category 'application')
$token string

代码块的标记

$category string

此日志消息的类别

configure() 公共 静态 方法

使用初始属性值配置对象。

public static object configure($object, $properties)
$object object

要配置的对象

$properties array

以键值对的形式给出属性的初始值。

return object

对象本身

createObject() 公共 静态 方法

使用给定配置创建新对象。

您可以将此方法视为 new 运算符的增强版本。 该方法支持基于类名, 配置数组或匿名函数创建对象。

以下是一些使用示例:

// 使用类名创建对象
$object = Yii::createObject('yii\db\Connection');

// 使用配置数组创建对象
$object = Yii::createObject([
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=127.0.0.1;dbname=demo',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
]);

// 使用两个构造函数参数创建一个对象
$object = \Yii::createObject('MyClass', [$param1, $param2]);

使用 依赖注入容器,此方法还可以识别依赖对象, 实例化它们并将它们注入新创建的对象。

参见 yii\di\Container.

public static object createObject($type, array $params = [])
$type string|array|callable

对象类型。可以使用以下形式之一指定:

  • 一个字符串:表示要创建的对象的类名
  • 配置数组:数组必须包含一个被视为对象类的 class 元素, 其余的键值对将用于初始化相应的对象属性
  • PHP可调用:要么是匿名函数,要么是表示类方法的数组([$class 或 $object, $method])。 callable 应返回正在创建的对象的新实例。
$params array

构造函数参数

return object

创建的对象

throws yii\base\InvalidConfigException

如果配置无效。

debug() 公共 静态 方法 (自版本 2.0.14 可用)

记录调试消息。 跟踪消息主要用于开发目的, 以查看某些代码的执行工作流程。 此方法仅在应用程序处于调试模式时记录消息。

public static void debug($message, $category 'application')
$message string|array

要记录的消息。 这可以是简单的字符串或更复杂的数据结构,例如数组。

$category string

消息的类别。

endProfile() 公共 静态 方法

标记代码块的结尾以进行性能分析。 这必须与先前使用相同类别名称的 beginProfile() 调用相匹配。

参见 beginProfile().

public static void endProfile($token, $category 'application')
$token string

代码块的标记

$category string

此日志消息的类别

error() 公共 静态 方法

记录错误消息。 在执行应用程序期间发生不可恢复的错误时, 通常会记录错误消息。

public static void error($message, $category 'application')
$message string|array

要记录的消息。 这可以是简单的字符串或更复杂的数据结构,例如数组。

$category string

消息的类别。

getAlias() 公共 静态 方法

将路径别名转换为实际路径。

翻译按照以下步骤完成:

  1. 如果给定的别名不以 '@' 开头,则返回时不做更改;
  2. 否则,查找与给定别名的开头部分匹配的最长注册别名。 如果存在, 请将给定别名的匹配部分替换为相应的注册路径。
  3. 抛出异常或返回 false,具体取决于 $throwException 参数。

例如,默认情况下,'@yii' 被注册为 Yii 框架目录的别名,例如 '/path/to/yii'。 别名 '@yii/web' 将被翻译成 '/path/to/yii/web'。

如果你已经注册了两个别名 '@foo' 和 '@foo/bar'。然后翻译 '@foo/bar/config' 会将部分 '@foo/bar'(而不是 '@foo')替换为相应的注册路径。 这是因为最长的别名优先。

但是,如果要翻译的别名是 '@foo/barbar/config',那么 '@foo' 将被替换而不是 '@foo/bar', 因为 '/' 用作边界字符。

注意,此方法不检查返回的路径是否存在。

有关详细信息,请参阅别名的指南文章

参见 setAlias().

public static string|boolean getAlias($alias, $throwException true)
$alias string

要翻译的别名。

$throwException boolean

如果给定的别名无效,是否抛出异常。 如果为 false 并且给出了无效的别名,则此方法将返回 false。

return string|boolean

与别名对应的路径,如果先前未注册根别名,则为 false。

throws yii\base\InvalidArgumentException

如果 $throwException 为 true 时别名无效。

getLogger() 公共 静态 方法

public static yii\log\Logger getLogger()
return yii\log\Logger

消息记录器

getObjectVars() 公共 静态 方法

返回对象的公共成员变量。 提供此方法使得我们可以获取对象的公共成员变量。 它与“get_object_vars()” 不同,因为如果在对象本身内调用它,后者将返回 private 和 protected 变量。

public static array getObjectVars($object)
$object object

要处理的对象

return array

对象的公共成员变量

getRootAlias() 公共 静态 方法

返回给定别名的根别名部分。 根别名是先前通过 setAlias() 注册的别名。 如果给定的别名与多个根别名匹配,则将返回最长的别名。

public static string|boolean getRootAlias($alias)
$alias string

别名

return string|boolean

根别名,如果没有找到根别名则为 false

getVersion() 公共 静态 方法

返回表示 Yii 框架当前版本的字符串。

public static string getVersion()
return string

Yii 框架的版本

info() 公共 静态 方法

记录信息性消息。 通常由应用程序记录信息性消息以保持重要事件的记录 (例如,管理员登录)。

public static void info($message, $category 'application')
$message string|array

要记录的消息。 这可以是简单的字符串或更复杂的数据结构,例如数组。

$category string

消息的类别。

powered() 公共 静态 方法
Deprecated 从 2.0.14 开始,此方法将在 2.1.0 中删除。

返回可显示在网页上的 HTML 超链接,其中显示“Powered by Yii Framework”的信息。

public static string powered()
return string

可以在网页上显示“Powered by Yii Framework”信息的 HTML 超链接

setAlias() 公共 静态 方法

注册路径别名。

路径别名是表示长路径的短名称(文件路径,URL 等) 例如,我们使用 '@yii' 作为 Yii 框架目录路径的别名。

路径别名必须以字符“@”开头, 以便可以轻松区分非别名路径。

请注意,此方法不检查给定路径是否存在。 它所做的只是将别名与路径相关联。

给定路径中的任何结尾的 '/' 和 '\' 字符都将被截取。

有关详细信息,请参阅别名的指南文章

参见 getAlias().

public static void setAlias($alias, $path)
$alias string

别名(例如“@yii”)。它必须以 '@' 字符开头。 它可能包含正斜杠 '/', 它在 getAlias() 执行别名转换时用作边界字符。

$path string

别名对应的路径。如果为 null,则将删除别名。 结尾的 '/' 和 '\' 字符将被截取。可以是

  • 目录或文件路径(例如 /tmp/tmp/main.txt
  • 一个URL(例如 http://www.yiiframework.com
  • 路径别名(例如 @yii/base)。 在这种情况下,路径别名将首先通过调用 getAlias() 转换为实际路径。
throws yii\base\InvalidArgumentException

如果 $path 是无效的别名。

setLogger() 公共 静态 方法

设置记录器对象。

public static void setLogger($logger)
$logger yii\log\Logger

记录器对象。

t() 公共 静态 方法

将信息转换为指定的语言。

这是 yii\i18n\I18N::translate() 的快捷方法。

翻译将根据消息类别进行,并将使用目标语言。

您可以将参数添加到翻译消息中,该翻译消息将在翻译后替换为相应的值。 这种格式是在参数名称前后使用大括号,如下例所示:

$username = 'Alexander';
echo \Yii::t('app', 'Hello, {username}!', ['username' => $username]);

使用 PHP intl 扩展 消息格式化程序支持进一步格式化消息参数。 有关详细信息,请参见 yii\i18n\I18N::translate()

public static string t($category, $message, $params = [], $language null)
$category string

消息类别。

$message string

要翻译的信息。

$params array

将用于替换消息中相应占位符的参数。

$language string

语言代码(例如 en-USen)。 如果为 null,则将使用当前 application language

return string

翻译的消息。

trace() 公共 静态 方法
Deprecated 从 2.0.14 开始。请改用 debug()

debug() 的别名。

public static void trace($message, $category 'application')
$message string|array

要记录的消息。 这可以是简单的字符串或更复杂的数据结构,例如数组。

$category string

消息的类别。

warning() 公共 静态 方法

记录警告消息。 当执行仍然可以继续时发生错误时, 通常会记录警告消息。

public static void warning($message, $category 'application')
$message string|array

要记录的消息。 这可以是简单的字符串或更复杂的数据结构,例如数组。

$category string

消息的类别。