質問: $this -> pdo -> query($sql); } } ``` 前者はglobalが多発するので行儀のよい書き方ではないと思うので、後者の書き方が良いのでは?と考えています。 しかし、classとpdoの併用の書き方について綴っているサイトなどを見かけることが出来ず、独りよがりな書き方になってしまっているのでは?と懸念しています。 皆さんはこのようなケースでは、どのような書き方をされていますでしょうか?
回答: こんなのがありました。 ``` abstract class DataMapper { protected $_pdo; function __construct(PDO $pdo) { $this->_pdo = $pdo; } ``` hirak/pdo-datamapper-example **追記(2017/08/21)** リンク先からの引用となりますが、堅牢なコードにするには、「PDO 生成と設定の責務を外部に出し、コンストラクタで受け取る」という設計にするのが良いです。 PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016 by Takuto Wada 本件に関するのは一部(P45-47あたり)ですが、全体を見ることをオススメします。