没有命名空间的类 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\i18n\MessageFormatter

继承yii\i18n\MessageFormatter » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/i18n/MessageFormatter.php

MessageFormatter 允许通过 ICU message format 格式化消息。

此类增强了 PHP intl 扩展提供的消息格式化程序类。

提供以下增强功能:

  • 它接受命名参数和混合的数值参数和命名参数。
  • 当提供的参数数量不足时,不会发出错误。 相反,占位符不会被替换。
  • 修复 PHP 5.5 奇怪的占位符替换,以防根本没有提供任何参数 (https://bugs.php.net/bug.php?id=65920)。
  • 如果未安装 PHP intl 扩展,则对消息格式化提供有限支持。 但是,如果要使用 MessageFormatter 功能, 强烈建议您安装 PHP intl extension

    回退实现仅支持以下消息格式:

    • 英语的复数格式('one' 和 'other' 选择器)
    • 选择格式
    • 简单的参数
    • 整数参数

    回退实现不支持 'apostrophe-friendly' syntax。 使用回退实现的消息也不一定与 PHP intl MessageFormatter 兼容, 因此如果能够安装 intl 扩展,则不要依赖回退。

公共属性

隐藏继承的属性

属性类型描述被定义在
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$errorCode string 最后一个错误的代码。 yii\i18n\MessageFormatter
$errorMessage string 最后一个错误的描述。 yii\i18n\MessageFormatter

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
format() 通过 ICU message format 格式化一个消息。 yii\i18n\MessageFormatter
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getErrorCode() 获得最后一个操作的错误代码。 yii\i18n\MessageFormatter
getErrorMessage() 获得最后一个操作的错误信息。 yii\i18n\MessageFormatter
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\base\BaseObject
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
parse() 根据 ICU message format 模式解析输入字符串。 yii\i18n\MessageFormatter
trigger() Triggers an event. yii\base\Component

受保护的方法

隐藏继承的方法

方法描述被定义在
fallbackFormat() MessageFormatter::formatMessage 的回退实现。 yii\i18n\MessageFormatter

属性详情

$errorCode 公共 只读 属性

最后一个错误的代码。

public string getErrorCode ( )
$errorMessage 公共 只读 属性

最后一个错误的描述。

方法详情

fallbackFormat() 受保护 方法

MessageFormatter::formatMessage 的回退实现。

protected false|string fallbackFormat($pattern, $args, $locale)
$pattern string

要插入内容的模式字符串。

$args array

要插入格式字符串的值数组

$locale string

用于格式化与区域设置相关的部件的区域设置

return false|string

格式化的模式字符串,如果发生错误,则为 false

format() 公共 方法

通过 ICU message format 格式化一个消息。

它使用 PHP intl 扩展的 MessageFormatter 并解决了一些问题。 如果未安装 PHP intl,将使用支持 ICU 消息格式子集的回退。

public string|false format($pattern, $params, $language)
$pattern string

要插入参数的模式字符串。

$params array

要插入到格式字符串中的键值对数组。

$language string

用于格式化与区域设置相关的部件的区域设置

return string|false

格式化的模式字符串,如果发生错误,则为 false

getErrorCode() 公共 方法

获得最后一个操作的错误代码。

public string getErrorCode()
return string

最后一个错误的代码。

getErrorMessage() 公共 方法

获得最后一个操作的错误信息。

public string getErrorMessage()
return string

最后一个错误的描述。

parse() 公共 方法

根据 ICU message format 模式解析输入字符串。

它使用 PHP intl 扩展的 MessageFormatter::parse() 并添加对命名参数的支持。 使用此方法需要安装 PHP intl 扩展。

public array|boolean parse($pattern, $message, $language)
$pattern string

用于解析消息的模式。

$message string

符合模式的要解析的消息。

$language string

用于格式化与区域设置相关的部件的区域设置

return array|boolean

包含提取的项的数组,出错时为 false

throws yii\base\NotSupportedException

如果 PHP intl 扩展未安装。