プロジェクト

全般

プロフィール

Wiki » 履歴 » バージョン 5

AppTime 管理, 2024/04/21 10:07

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