いつも丁寧かつ分かりやすい動画をありがとうございます。
今回の動画では扱うテーブルが 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()
を埋め込む」
方が楽で良い気がしてきました。
実際の現場ではどうなのかなど全く感覚が分かっていませんので、どうかお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?