「Zend\Db」はデータベースとのやり取りを行うコンポーネントです。
使用するデータベースの切り替えを設定の変更だけで動作に影響を受けることなく行えるほか、SQLの生成のサポート等様々な機能を提供します。
スポンサーリンク
使用方法
データベース接続アダプタの作成を行っていきます。データベースへの接続は、アダプタを介して行います。「Zend\Db\Adapter\Adapter」のインスタンス生成時に設定項目をコンストラクタへ指定します。
1 |
$adapter = new Zend\Db\Adapter\Adapter($configArray); |
アダプタへの設定項目は下記の通りとなります。
項目名 | 必須かどうか | 値 |
driver | 必須 | PDO |
database | 一般的に必要 | データベース名 |
username | 一般的に必要 | 接続ユーザ名 |
password | 一般的に必要 | 接続パスワード |
hostname | 一般的に必要ではない | 接続するためのホスト名、またはIPアドレス |
port | 一般的に必要ではない | 接続するためのポート番号 |
charset | 一般的に必要ではない | 文字コード指定 |
では実際にSQLite向けの設定を行っていきます。
1 2 3 4 |
$adapter=new Zend\Db\Adapter\Adapter(array( 'driver' => 'Pdo_Sqlite', 'database' => 'path\to\sqlite.db' )); |
SQLの実行
アダプタが作成しましたら、さっそくSQLを実行していきましょう。
SQLのメソッドを使用する場合は、query()メソッドを使用します。
1 2 3 |
$result = $adapter->query( 'SELECT * FROM 'artist' WHERE 'id' = ?' , array(5) ); |
第一引数にはSQLの文字列を指定し、第二引数にはSQLへ流すパラメータを配列にしてします。第一引数中の「?」に第二引数へ指定した値が順番に埋め込まれます。
「Zend\Db\Sql\Sql」でSQLの生成をサポートしている
よく使うSQL文の生成が用意されてある「Zend\Db\Sql\Sql」。
1 2 3 4 5 6 7 8 |
use Zend\Db\Sql\Sql; $sql = new Sql($adapter); $select = $sql->select(); $insert = $sql->insert(); $update = $sql->update(); $delete = $sql->delete(); |