kanagama / laravel-add-formrequest-accessor
为 Laravel 的 FormRequest 添加 accessor 功能
v2.0.1
2023-08-24 14:06 UTC
Requires
- php: ^8.0 | ^8.1 | ^8.2
- laravel/framework: ^9.0 | ^10.0
Requires (Dev)
- orchestra/testbench: *
- php-coveralls/php-coveralls: ^2.5
- phpmetrics/phpmetrics: ^2.8
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.0 | ^10.0
- dev-main
- v2.0.1.x-dev
- v2.0.1
- v2.0.0.x-dev
- v2.0.0
- v1.9.0.x-dev
- v1.9.0
- v1.8.0
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.2.x-dev
- v1.3.1
- v1.3.0
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- dev-renovate/laravel-framework-11.x
- dev-renovate/phpunit-phpunit-11.x
- dev-renovate/slackapi-slack-github-action-1.x
- dev-codacy
- dev-master
This package is auto-updated.
Last update: 2024-09-26 13:50:01 UTC
README
为 Laravel 的 FormRequest 添加 accessor 功能。
在 Qiita 上有详细的说明
https://qiita.com/kazumacchi/items/aebfe8dfccbfd28acaf4
安装
$ composer require kanagama/laravel-add-formrequest-accessor:2.*
用法
没有参数,但类似于模型的 accessor。请参考以下代码
请求
namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Kanagama\FormRequestAccessor\FormRequestAccessor; /** * @property-read string $full_name */ class BookingRequest extends FormRequest { use FormRequestAccessor; /** * フルネームを取得 * * @return string * * @author k.nagama <k.nagama0632@gmail.com> */ public function getFullNameAttribute(): string { return $this->input('last_name') .' '. $this->input('first_name'); } }
控制器等
namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Http\Requests\BookingRequest; class BookingController extends Controller { /** * @param BookingRequest $request * * @author k.nagama <k.nagama0632@gmail.com> */ public function reserve(BookingRequest $request) { dd($request->full_name); }
$guarded
使用 $guarded 指定属性不会在 all() 函数中输出。
protected $guarded = [ 'first_name', ];
$fill
仅使用 $fill 指定属性会在 all() 函数中输出。如果与 $guarded 一起使用,则 $fill 优先。
protected $fill = [ 'first_name', ];
null_disabled
如果 $null_disabled 指定的 accessor 返回 null,则不会输出。
empty_disabled
如果 $empty_disabled 指定的 accessor 返回空(empty() 检查),则不会输出。
casts
将指定属性的类型转换为。与模型中的 $casts 类似的行为。
protected $casts = [ 'id' => 'int', 'from_date' => 'string', 'view_flg' => 'bool', ];
测试
php vendor/bin/phpunit
分析
vendor/bin/phpstan analyse -l 3 src/
度量
php ./vendor/bin/phpmetrics --report-html=phpmetrics src/