kanagama / laravel-add-formrequest-accessor
Laravel の FormRequest に accessor 機能を付与する
Installs: 4 171
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 6
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/major-phpstan-packages
- 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-11-12 16:05:37 UTC
README
laravel の FormRequest に accessor 機能を付与します。
Qiita に詳しい説明書いてます
https://qiita.com/kazumacchi/items/aebfe8dfccbfd28acaf4
インストール
$ composer require kanagama/laravel-add-formrequest-accessor:2.*
使い方
引数ありませんが、model のアクセサと似せました。 下記コードを参照して下さい
Request
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'); } }
controller など
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 で指定したアクセサの戻り値が null の場合、出力されません
empty_disabled
$empty_disabled で指定したアクセサの戻り値が空(empty()チェック)の場合、出力されません
casts
指定したプロパティの型を変換します。 model の $casts と同様の挙動をします。
protected $casts = [ 'id' => 'int', 'from_date' => 'string', 'view_flg' => 'bool', ];
test
php vendor/bin/phpunit
analysis
vendor/bin/phpstan analyse -l 3 src/
metrics
php ./vendor/bin/phpmetrics --report-html=phpmetrics src/