クラス内でPDOオブジェクトにアクセスしたい時の、オススメの書き方があれば教えてください。
作成したクラス内でデータベースにアクセスしたい時が多いのですが、その時のPDOオブジェクトのアクセス方法で悩んでいます。
現在は毎回globalを使用してPDOオブジェクトを使用できる状態にする方法と、メンバ変数にPDOオブジェクトを生成する2つの方法を考えていました。
PDOオブジェクトを使用できる状態にする
PHP
1class fuga{ 2 3 function __construct(){ 4 /* 5 いろいろ 6 */ 7 } 8 9 //データベースを扱う命令 10 function hoge(){ 11 global $pdo; 12 /* 13 いろいろ 14 */ 15 } 16}
メンバ変数にPDOオブジェクトを生成する
PHP
1class fuga{ 2 3 private $pdo; // PDOオブジェクト 4 5 function __construct(){ 6 $this -> pdo = new PDO(HOST, ACCOUNT, PASSWD); 7 } 8 9 //データベースを扱う命令 10 function hoge(){ 11 $sql = 'SELECT id FROM users'; 12 $sth = $this -> pdo -> query($sql); 13 } 14}
前者はglobalが多発するので行儀のよい書き方ではないと思うので、後者の書き方が良いのでは?と考えています。
しかし、classとpdoの併用の書き方について綴っているサイトなどを見かけることが出来ず、独りよがりな書き方になってしまっているのでは?と懸念しています。
皆さんはこのようなケースでは、どのような書き方をされていますでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/17 10:46
退会済みユーザー
2017/07/17 11:13
2017/09/07 08:59