お世話になります。
いつも大変わかりやすい動画と解説に感謝しております。
他の方の質問に似たものが既にありますが、より詳細を知りたいと思い質問いたします。
関数編ではグローバル変数である $pdo
に関数内からアクセスできるようにするために $pdo
を
addTodo()
や deleteTodo()
の引数に渡していたのだと解釈しています。
( global
キーワードを使用するよりはこちらの方がより良い書き方であるため。)
今回のクラス編では $pdo
を Todo::add()
や Todo::delete()
などのメソッドの引数に渡さずに
Todo
クラスをインスタンス化する際に引数として渡してその際にコンストラクターによって,
$pdo
を Todo
クラスから生成されるインスタンスの private
プロパティの値に設定しているのは、
$pdo
が Todo
クラス内からのみ参照されるということを保証するのが目的という解釈でよろしいでしょうか?
(index.php ファイルの 7 行目 $pdo = Database::getInstance();
で生成された $pdo
が Todo
クラスでのみ利用されるということをわかりやすくするため。)
それとも、Todo
クラスをインスタンス化する際に予め引数として $pdo
を渡して、それを private
プロパティに設定することによって Todo
クラスのメソッドを呼び出す度にいちいち引数に $pdo
を渡す記述を省略するのが目的でしょうか?
よろしくお願いいたします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?