このドキュメントは、 PHP フレームワーク CakePHP から、 Posql を データベース (DBO ドライバ) として利用するための手順を解説します。
Posql は、ピュア PHP のデータベースエンジンです。 詳しい概要や、サポートしている SQL 文法については Posql SQL Reference を参照してください。
Posql Version 2.09 から、 CakePHP で Posql を利用できる DBO ドライバ 'dbo_posql.php' や、 その設定ファイルなどがパッケージに同梱されています。 現在の最新バージョンは 2.17 です。
GitHub から Posql Version 2.17 がダウンロードできます
Posql パッケージ内に CakePHP-DBO-Posql
というディレクトリがあり、この中が対象になります。
以下のようなディレクトリ構成になります。
CakePHP-DBO-Posql/cake/libs/model/datasources/dbo/dbo_posql.php
CakePHP-DBO-Posql/app/config/database.php.posql
CakePHP-DBO-Posql/app/vendors/posql/posql.php
※CakePHP-DBO-Posql 内のディレクトリ構成は CakePHP フレームワークと同じになっています。
これ以降は CakePHP フレームワーク側での設定になります。
app/config/database.php.posql
に コピーされているはずです。 もとの 'database.php' を適当なファイル名に変えて バックアップをとっておき、 'database.php.posql' を 'database.php' に名前変更します。var $default = array( 'driver' => 'posql', 'persistent' => false, 'host' => '', 'login' => '', 'password' => '', 'database' => '../vendors/posql/database_name.php', 'prefix' => '', );
'../vendors/posql/database_name.php'
と記述してある 'database' がキーの部分です。 これはデータベースのファイルパスになります。 デフォルトでは、 相対パスで 本体クラスファイル 'posql.php' と同じディレクトリに設定されています。 データベース名にあたる 'database_name.php' を 適当なデータベース名に変更し、 対象ディレクトリも必要に応じて変更します。 相対パスになっているので、可能であれば絶対パスに変更してください。Posql ドライバの動作確認はとれていますが、最低限のテストしか行っていません。 複雑な SQL ステートメントは、テストをしていません。 SQL 文によっては、Posql クラスそのものが実装されていない場合もあります。 また、独自に SQL 文を発行する場合は不具合がでる可能性があります。 その点を考慮してお試しください。
要望や感想、不具合やバグ報告などありましたら GitHub - Posql の issues から投稿、 もしくは Posql開発ブログ からお願いします。