abolotin/yii2-unique-id

生成任何目的的唯一标识符。通常用于Yii小部件(HTML元素的"id"属性)。

1.0.2 2018-05-10 08:14 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:36:38 UTC


README

生成任何目的的唯一标识符。通常用于Yii小部件(HTML元素的"id"属性)。

标准Yii2生成器使用前缀"w"和简单的ID生成器计数器。当使用非AJAX请求时,这已经足够。但如果您想通过AJAX请求加载某些页面内容,您可能会获得具有相同ID的HTML元素(例如"p1")。因此,基于元素ID的一些脚本可能会意外地工作。可以通过在代码中手动指定ID来绕过这种行为。另一种方法是设置Widget::$autoIdPrefix。

安装

使用Composer

您可以使用Composer包管理器进行安装。可以运行

$ php composer.phar require abolotin/yii2-unique-id

或添加

"abolotin/yii2-unique-id": ""

到您的composer.json文件中

手动安装

您还可以轻松地将组件手动安装到项目中。只需下载源代码 ZIPTAR

使用

手动模式使用

只需调用 \abolotin\yii2\UniqueId::getId()。它返回一个唯一值,可以将它分配给HTML元素的"id"属性。

自动模式使用

您可以为任何 \yii\base\Widget 基于对象设置自动生成ID。只需将 '\abolotin\yii2\UniqueId' 字符串添加到应用程序配置的 'bootstrap' 数组中

return [
   ...
   'bootstrap' => [
       '\\abolotin\\yii2\\UniqueId',
       ...
   ]
];

或使用组件模式

return [
   ...
   'components' => [
       'uniqueId' => [
           'class' => '\\abolotin\\yii2\\UniqueId',
           ...
       ],
       ...
   ],
   'bootstrap' => [
       'uniqueId',
       ...
   ]
];

在最后一种情况下,也可以进行配置。

配置

组件允许以下配置选项

widgetPrefix - 字符串。小部件生成器使用的前缀。默认值: 'w'。

pjaxPrefix - 字符串。Pjax小部件生成器使用的前缀。默认值: 'p'。

autoIdPrefix - 字符串。生成器使用的第二个前缀。如果未指定,将自动生成。

counter - 整数。内部生成ID的计数器。默认值: 0。

suffix - 字符串。内部生成ID的后缀。默认值: 't'。