Larastan Extended is an opinionated Larastan extension that inspects your Laravel application to make static analysis less verbose.
/**
* Get the attributes that should be cast.
- *
- * @return array{
- * user_id: 'integer',
- * published_at: 'datetime',
- * }
*/
public function casts(): array
{
return [
'user_id' => 'integer',
'published_at' => 'datetime',
];
}Route::get('posts', function (Request $request) {
- /** @var \App\Models\User */
- $user = $request->user();
-
- return $user->posts;
+ return $request->user()->posts;
})->middleware('auth');Route::get('teams/{team}/owner', function (Team $team) {
- /** @var \App\Models\User */
- $owner = $team->owner;
-
- return $owner;
+ return $team->owner;
});You can install the package via Composer:
composer require --dev titasgailius/larastan-extendedInclude the extension before the Larastan extension.
includes:
+ - vendor/titasgailius/larastan-extended/extension.neon
- vendor/larastan/larastan/extension.neon