いつも丁寧かつ分かりやすい動画をありがとうございます。
今回の動画では扱うテーブルが todos のみなので Todo クラスのコンストラクタ内に Token::create() 記述で納得できたのですが、他にもテーブルがあった場合などでも各テーブル用のクラス内に記述するものでしょうか。
ーーーーーーーーーーーー
複数のテーブルを扱う場合、以下のようなイメージでしょうか。
例として、全てユーザーからの POST 送信や DB 処理があるものとしています。
Todo クラス( todos テーブルのクラス)のコンストラクタに Token::create() を仕込む。
User クラス( users テーブルのクラス)のコンストラクタに Token::create() を仕込む。
Project クラス( projects テーブルのクラス)のコンストラクタに Token::create() を仕込む。
ーーーーーーーーーーーー
それとも index.php に以下のように書くイメージが主流ですか。
例として以下は index.php から、全テーブルのいずれかへの POST 送信が来る可能性があるものとしています。
// ここでトークン生成
Token::create();
// 以下の各テーブル処理のクラスにはToken::create()を記述しない。
Todo::processPost();
User::processPost();
Project::processPost();
ーーーーーーーーーー
自分なりにメリット・デメリットを考えてみました。
●全ての各テーブル処理クラスに Token::create() を埋め込む
メリット:テーブル処理クラスを使うたびに Token::create() を記述しなくて済む。
デメリット:複数のテーブル処理クラスを同時に使う場合は重複処理となる。
●各テーブル処理クラスには書かず、適時 外に Token::create() を記述する
メリット デメリットは上記の反対となる。
Token::create() は生成済なら生成処理しませんが if 文の処理が重複します。あまり気にしなくていいのでしょうか。
こうして まとめてみると、毎回 Token::create() を記述しなくて済む
「全ての各テーブル処理クラスに Token::create() を埋め込む」
方が楽で良い気がしてきました。
実際の現場ではどうなのかなど全く感覚が分かっていませんので、どうかお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?