Skip to content

Commit 252f194

Browse files
committed
feat: enable phpstan on travis
1 parent e63b2be commit 252f194

File tree

11 files changed

+41
-21
lines changed

11 files changed

+41
-21
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ before_script:
1111
- travis_retry composer install --no-interaction
1212

1313
script:
14+
- vendor/bin/phpstan analyze
1415
- vendor/bin/phpunit --coverage-clover coverage.xml
1516

1617
after_success:

phpstan.neon

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
parameters:
22
paths:
33
- src
4+
- tests/app
5+
excludePaths:
6+
- tests/app/migrations.php
7+
- tests/app/routes.php
48
level: 6
59
checkGenericClassInNonGenericObjectType: false

tests/app/Http/Controllers/AsApiController.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,26 @@
22

33
namespace Test\app\Http\Controllers;
44

5+
use Ark4ne\JsonApi\Resources\JsonApiCollection;
6+
use Ark4ne\JsonApi\Resources\JsonApiResource;
57
use Illuminate\Http\Request;
68

79
trait AsApiController
810
{
11+
/**
12+
* @return class-string<\Illuminate\Database\Eloquent\Model>
13+
*/
914
abstract protected function getModelClass(): string;
1015

16+
/**
17+
* @return class-string<\Ark4ne\JsonApi\Resources\JsonApiResource>
18+
*/
1119
abstract protected function getResourceClass(): string;
1220

1321
/**
1422
* Display a listing of the resource.
15-
*
16-
* @return \Illuminate\Http\Response
1723
*/
18-
public function index(Request $request)
24+
public function index(Request $request): JsonApiCollection
1925
{
2026
$modelClass = $this->getModelClass();
2127

@@ -42,12 +48,8 @@ public function store(Request $request)
4248

4349
/**
4450
* Display the specified resource.
45-
*
46-
* @param int $id
47-
*
48-
* @return \Illuminate\Http\Response
4951
*/
50-
public function show(Request $request, $id)
52+
public function show(Request $request, string $id): JsonApiResource
5153
{
5254
$modelClass = $this->getModelClass();
5355

tests/app/Http/Controllers/CommentController.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace Test\app\Http\Controllers;
44

5+
use Ark4ne\JsonApi\Resources\JsonApiCollection;
6+
use Ark4ne\JsonApi\Resources\JsonApiResource;
57
use Illuminate\Routing\Controller;
68
use Test\app\Http\Requests\CommentRequest;
79
use Test\app\Http\Resources\CommentResource;
@@ -24,12 +26,12 @@ protected function getResourceClass(): string
2426
return CommentResource::class;
2527
}
2628

27-
public function index(CommentRequest $request)
29+
public function index(CommentRequest $request): JsonApiCollection
2830
{
2931
return $this->apiIndex($request);
3032
}
3133

32-
public function show(CommentRequest $request, $id)
34+
public function show(CommentRequest $request, string $id): JsonApiResource
3335
{
3436
return $this->apiShow($request, $id);
3537
}

tests/app/Http/Controllers/UserController.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace Test\app\Http\Controllers;
44

5+
use Ark4ne\JsonApi\Resources\JsonApiCollection;
6+
use Ark4ne\JsonApi\Resources\JsonApiResource;
57
use Illuminate\Routing\Controller;
68
use Test\app\Http\Requests\UserRequest;
79
use Test\app\Http\Resources\UserResource;
@@ -24,12 +26,12 @@ protected function getResourceClass(): string
2426
return UserResource::class;
2527
}
2628

27-
public function index(UserRequest $request)
29+
public function index(UserRequest $request): JsonApiCollection
2830
{
2931
return $this->apiIndex($request);
3032
}
3133

32-
public function show(UserRequest $request, $id)
34+
public function show(UserRequest $request, string $id): JsonApiResource
3335
{
3436
return $this->apiShow($request, $id);
3537
}

tests/app/Http/Requests/CommentRequest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99

1010
class CommentRequest extends FormRequest
1111
{
12-
public function authorize()
12+
public function authorize(): bool
1313
{
1414
return true;
1515
}
1616

17-
public function rules()
17+
/**
18+
* @return array{fields: array<mixed>, include: array<mixed>}
19+
*/
20+
public function rules(): array
1821
{
1922
return [
2023
'fields' => [new Fields(CommentResource::class)],

tests/app/Http/Requests/PostRequest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99

1010
class PostRequest extends FormRequest
1111
{
12-
public function authorize()
12+
public function authorize(): bool
1313
{
1414
return true;
1515
}
1616

17-
public function rules()
17+
/**
18+
* @return array{fields: array<mixed>, include: array<mixed>}
19+
*/
20+
public function rules(): array
1821
{
1922
return [
2023
'fields' => [new Fields(PostResource::class)],

tests/app/Http/Requests/UserRequest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99

1010
class UserRequest extends FormRequest
1111
{
12-
public function authorize()
12+
public function authorize(): bool
1313
{
1414
return true;
1515
}
1616

17-
public function rules()
17+
/**
18+
* @return array{fields: array<mixed>, include: array<mixed>}
19+
*/
20+
public function rules(): array
1821
{
1922
return [
2023
'fields' => [new Fields(UserResource::class)],

tests/app/Models/Comment.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Comment extends Model
2020
{
2121
use HasFactory;
2222

23-
protected static function newFactory()
23+
protected static function newFactory(): CommentFactory
2424
{
2525
return new CommentFactory();
2626
}

tests/app/Models/Post.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class Post extends Model
2222
{
2323
use HasFactory;
2424

25-
protected static function newFactory()
25+
protected static function newFactory(): PostFactory
2626
{
2727
return new PostFactory();
2828
}

0 commit comments

Comments
 (0)