プロジェクト

全般

プロフィール

Wiki » 履歴 » バージョン 6

平 勇治, 2024/05/02 06:35

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