shawnveltman / livewire-3-property-updater
一个将 Livewire 2 计算属性更新为使用 Livewire 3 语法的包
Requires
- php: ^8.1|^8.2
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-08 14:08:09 UTC
README
在 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)。请参阅 许可证文件 获取更多信息。