さらに「Symfony/YAML」を使ってdatabase.ymlを読み込んで$connectionParamsに入れることも可能になります。
ComposerでDoctorineのDBALと「Symfony/YAML」に書き換えてみます。
[codeyaml]
dbname:
user:
password:
host:
charset: utf8
driver: pdo_mysql
[/code]
parse(file_get_contents('database.yml'));
// 接続
$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
// データベースの操作には クエリビルダを使います。
$queryBuilder = $conn->createQueryBuilder();
// usersテーブルからidが1のものをとってくる構文
$id = 1;
$result = $queryBuilder
->from('users')
->where('id = ?')
->setParameter(0, $id);
// usersテーブルのnameカラムに「taro」という文字列を挿入する構文
$name = "taro";
$result = $queryBuilder
->insert('users')
->values(array('name' => '?'))
->setParameter(0, $name);
// usersテーブルのidが1のものを削除する構文
$id = 1;
$result = $queryBuilder
->delete('users')
->where('id = ?')
->setParameter(0, $id);
// users テーブルの nameカラムを「jiro」に変更する構文
$name = "jiro";
$result = $queryBuilder
->update('users')
->setValue('name', '?')
->setParameter(0, $name);