2015年9月14日月曜日

Silexで、Doctrine DBALを用いたDB接続

Silex(1.3)で、Doctrine DBALを用いたDB接続です。DBALは、PDOの上の抽象レイヤーで、PDOライクな記述になる模様。Doctrine ORMは、また別の設定に。

MySQLの例
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
  'db.options' => array(
    'driver'   => 'pdo_mysql',
    'host' => 'localhost',
    'dbname' => 'sampledb',
    'user' => 'userid',
    'password' => 'password',
    'charset'   => 'utf8',
  )
));

$app->get('/us-zip-code', function() use ($app){ 
  $sql = " SELECT * FROM zipcodes ";
  $zipcodes = $app['db']->fetchAll($sql);
  return $app['twig']->render('us-zip-code.twig', array(
    'zipcodes' => $zipcodes,
  ));
});

実際に設定してみたサイトがこちら

参考サイト
DoctrineServiceProvider(Silex Documentation)
Silexを試してみた(6) - Doctrine DBAL(作業ノートさん)

0 件のコメント:

コメントを投稿