abolotin / yii2-unique-id
生成任何目的的唯一标识符。通常用于Yii小部件(HTML元素的"id"属性)。
Requires
- php: >=5.3.0
- yiisoft/yii2: >=2.0.0
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文件中
手动安装
您还可以轻松地将组件手动安装到项目中。只需下载源代码 ZIP 或 TAR
使用
手动模式使用
只需调用 \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'。