プロジェクト

全般

プロフィール

Wiki » 履歴 » バージョン 3

AppTime 管理, 2024/04/21 09:57

1 1 AppTime 管理
# Wiki
2
3
## コーディング規約
4
5
基本的に下記に書かれている一般的なベストプラクティスを適用する
6
7
https://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md
8
9 2 AppTime 管理
### ルーティング
10 1 AppTime 管理
11 2 AppTime 管理
一般的なRESTの規則に従って実装をします
12 1 AppTime 管理
13 2 AppTime 管理
- index - リソースの一覧を表示します。
14
GET /photos
15
- create - 新規リソース作成用のフォームを表示します。
16
GET /photos/create
17
- store - 新規リソースを作成します。
18
POST /photos
19
- show - 特定のリソースを表示します。
20
GET /photos/{photo}
21
- edit - 既存のリソースを編集するフォームを表示します。
22
GET /photos/{photo}/edit
23
- update - 既存のリソースを更新します。
24
PUT/PATCH /photos/{photo}
25
- destroy - 既存のリソースを削除します。
26
DELETE /photos/{photo}
27
28
####  例外のルート
29
30
上記の命名規則では対応しきれないルートは別名を付けて良いものとする
31
例:`search`、`register`
32
基本は上記の命名で、対応しきれない場合のみ例外を適用する
33
34
#### ルートモデルバインディング
35
36
上記の show、edit、update、destroy ではパラメータに {photo} を使用しています。これはLaravelのルートモデルバインディング機能を利用するためです。
37
38
PhotoController の各アクションメソッドでは、Photo モデルのインスタンスを直接受け取ることができます。
39
40
```php
41
// app/Http/Controllers/PhotoController.php
42
public function show(Photo $photo)
43
{
44
    return view('photos.show', compact('photo'));
45
}
46
```
47
48
-   外部APIサービスを利用するようなものなどはServiceクラスを作る
49 1 AppTime 管理
-   型定義を引数、プロパティ、戻り値に全て必ず記述する
50
51
-   PHPDocにServiceクラスなどを作る際はメソッドなどはわかりやすいように説明を記述する
52
53
-   テーブルに区分値がある場合は`app/Enums`配下にEnumを作る
54
55
    -   例に既にいくつか作っているため参考にしてください
56
    -   boolean型などの真偽値は定数を作らなくて良いです