回答編集履歴

1

さらに加筆します

2022/03/17 09:56

投稿

退会済みユーザー
test CHANGED
@@ -10,3 +10,14 @@
10
10
  クラス内からあまりグローバル変数を参照するのは、
11
11
  どのクラスで何の変数を参照しているかを管理する必要が生じて良くないです。
12
12
  (その class UserLogic を使うときは、必ず `$dbh` である必要が生じ、new PDO()しておく必要が生じるのは、面倒で使いづらいと感じます。)
13
+
14
+ DB接続周りを受け持つクラス(もしくはユーザー関数)が`$dbh`を設けたら、
15
+ class UserLogic のコンストラクタ __construct()
16
+ もしくは別途`$dbh`を渡すためのメソッドを定義して渡すのが
17
+ 理想的ではないかなと思います。
18
+ [PHP: コンストラクタとデストラクタ \- Manual](https://www.php.net/manual/ja/language.oop5.decon.php)
19
+
20
+ 繰り返しますが、グローバル変数の変数名に依存しない実装が良いです。
21
+ クラスの中で勝手にグローバル変数を参照してしまうことで、想定外のトラブルを招いたり、
22
+ 変数名がバッティングしてしまったりすると、もう大変です。
23
+ (具体例を挙げられず、伝わりにくいとは思いますが。)