====== 04 Doctrine ======
下記のように宣言しておく。
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
'db.options' => array(
'dbname' => 'データベース名',
'user' => 'データベースユーザ名',
'password' => 'パスワード',
'host' => '接続先ホスト',
'driver' => 'ドライバー',
),
'db.dbal.class_path' => __DIR__ . '/silex/vendor/doctrine',
'db.common.class_path' => __DIR__ . '/silex/vendor/doctrine'
));
後は$app['db']で利用できる。
$stmt = $app['db']->query('select * from test;');
while ($row = $stmt->fetch()) {
print_r($row);
}
===== PDO fetchメソッドの添字 =====
|PDO::FETCH_ASSOC|連想添字(DBキー名)|
|PDO::FETCH_NUM|数値添字|
|PDO::FETCH_BOTH|両方(デフォルト)|
[[http://www.phpbook.jp/tutorial/pdo/|PDOについて]]
===== pdo_mysql =====
PDOは「PHP Data Objects」の略で、どのデータベースを使っているかを隠蔽してくれるものです。
PDOを使うことで、どのデータベースを利用する場合でも同じ関数を使うことができますので、
もし将来データベースを変更することがあっても、PDOオブジェクトを作成する時に指定したパラメータだけを変更するばいいことになります。