shawnveltman/livewire-3-property-updater

一个将 Livewire 2 计算属性更新为使用 Livewire 3 语法的包

1.0.5 2023-10-01 04:44 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

在 Livewire 2 中,一个名为 "foo" 的计算属性可以这样定义

public function getFooProperty()
{
    return 'bar';
}

在 Livewire 3 中,相同的属性可以这样定义

#[Computed]
public function foo()
{
    return 'bar';
}

该包会自动更新您 Livewire 组件文件夹中的更新。

安装

您可以通过 composer 安装此包

composer require --dev shawnveltman/livewire-3-property-updater

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="livewire-3-property-updater-config"

这是发布配置文件的内容

return [
    'start_directory' => 'app/Livewire',  // Defaulting to the app directory, but users can change this.
    'disk' => 'base_path',
    'method_name_style' => 'snake_case', // StudlyCase or  snake_case
];

关于此的几点说明。首先,该包期望您有一个名为 'base_path' 的磁盘(通常在 config/filesystems.php 中设置),它指向应用程序的基本路径。

 'base_path' => [
            'driver' => 'local',
            'root'   => base_path(),
        ],

其次 - 我是那种非常喜欢 snake_case 方法名的怪物,所以这是默认设置,但如果您更喜欢 StudlyCase,也很容易更改它

用于更新计算属性的用法

php artisan shawnveltman:livewire-3-property-updater

在 Livewire 3 中检查将属性设置为 null 的无效尝试

在 Livewire 3 中,将计算属性设置为 null 会导致错误。更新后,您可能会在代码中发现将属性显式设置为 null 的实例。此命令自动化识别和更新这些实例以使用 unset 的过程。

运行此命令时,它将扫描指定目录中的 Livewire 组件并查找设置为 null 的计算属性。它将用 unset 函数替换这些实例,防止潜在的 Livewire 3 错误。

用于检查 null 分配的用法

php artisan shawnveltman:livewire-null-property-updater

在 Livewire 中识别分派模式

shawnveltman:dispatch-identifier 命令扫描您的 Livewire 组件以查找特定的分派模式。它在识别或重构 Livewire 中某些 dispatch() 方法的使用时特别有用。

该命令过滤掉带有命名参数的分派,并输出文件路径以及 dispatch() 方法匹配目标模式所在的行号。

用于识别分派模式的用法

php artisan shawnveltman:dispatch-identifier

测试

composer test

鸣谢

许可证

MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。