yiisoft/widget

2.2.0 2023-12-25 18:47 UTC

This package is auto-updated.

Last update: 2024-09-02 15:06:33 UTC


README

Yii

Yii 小部件


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

小部件是可重用的构建块,用于以面向对象的方式创建复杂和可配置的用户界面元素。

本包提供了一个抽象类和用于创建小部件的工厂,预制的 widget 在 yiisoft/yii-widgets 包中提供。

要求

  • PHP 8.0 或更高版本。

安装

可以使用 Composer 安装此包。

composer require yiisoft/widget

通用用法

为了实现您自己的小部件,您需要创建一个继承自抽象类 Yiisoft\Widget\Widget 的类。在大多数情况下,只需实现 render() 方法即可。

final class MyWidget extends \Yiisoft\Widget\Widget
{
    public function render(): string
    {
        return 'My first widget.'.
    }
}

要在视图中获取字符串 "我的第一个小部件。",请调用 widget() 方法。在其中,Yiisoft\Widget\WidgetFactory 将创建 MyWidget 的实例,在将对象转换为字符串时,将调用声明的 render() 方法。

<?= MyWidget::widget() ?>

Yiisoft\Widget\WidgetFactory 工厂使用一个 Factory 实例来创建小部件对象,因此您可以通过在您的 widget 构造函数中列出它们来要求依赖项,并在初始化工厂时设置默认值。要在使用 widget 之前初始化 widget 工厂,请调用 WidgetFactory::initialize() 一次。

/**
 * @var \Psr\Container\ContainerInterface $container
 */
 
$widgetDefaults = [
    MyWidget::class => [
        'withNumber()' => [42],
    ],
];

\Yiisoft\Widget\WidgetFactory::initialize($container, $widgetDefaults);

对于整个应用程序来说,这是一个好主意。参见此包配置文件中的 Yii 示例 config/bootstrap.php

文档

如果您需要帮助或有疑问,请访问 Yii 论坛。您还可以查看其他 Yii 社区资源

许可证

Yii 小部件是自由软件。它根据 BSD 许可证发布。有关更多信息,请参阅 LICENSE

Yii 软件 维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack