1 关注者

助手

注意:本节内容正在开发中。

Yii 提供了许多类来帮助简化常见的编码任务,例如字符串或数组操作、HTML 代码生成等等。这些助手类都组织在 yii\helpers 命名空间下,并且都是静态类(这意味着它们只包含静态属性和方法,不应该被实例化)。

您可以通过直接调用其静态方法来使用助手类,如下所示

use yii\helpers\Html;

echo Html::encode('Test > test');

注意:为了支持自定义助手类,Yii 将每个核心助手类分解成两个类:一个基类(例如 BaseArrayHelper)和一个具体类(例如 ArrayHelper)。当您使用助手时,您应该只使用具体版本,永远不要使用基类。

核心助手类

Yii 版本中提供了以下核心助手类

  • ArrayHelper
  • Console
  • FileHelper
  • FormatConverter
  • Html
  • HtmlPurifier
  • Imagine(由 yii2-imagine 扩展提供)
  • Inflector
  • Json
  • Markdown
  • StringHelper
  • Url
  • VarDumper

自定义助手类

要自定义核心助手类(例如 yii\helpers\ArrayHelper),您应该创建一个新的类,继承自助手对应的基类(例如 yii\helpers\BaseArrayHelper),并将您的类命名为与对应的具体类(例如 yii\helpers\ArrayHelper)相同,包括其命名空间。然后,将此类设置为替换框架中原始实现。

以下示例显示了如何自定义 merge() 方法 yii\helpers\ArrayHelper

<?php

namespace yii\helpers;

class ArrayHelper extends BaseArrayHelper
{
    public static function merge($a, $b)
    {
        // your custom implementation
    }
}

将您的类保存在名为 ArrayHelper.php 的文件中。该文件可以位于任何目录中,例如 @app/components

接下来,在您的应用程序的 入口脚本 中,在包含 yii.php 文件后添加以下代码行,以告知 Yii 类自动加载器 加载您的自定义类,而不是框架中的原始助手类

Yii::$classMap['yii\helpers\ArrayHelper'] = '@app/components/ArrayHelper.php';

请注意,自定义助手类只有在您想要更改助手现有函数的行为时才有用。如果您想添加其他函数以在您的应用程序中使用,您可能最好为此创建一个单独的助手。

发现错别字或您认为此页面需要改进?
在 github 上编辑它 !