警告 |
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。 |
このモジュールにより、Paradox データベースおよび プライマリインデックスファイル、blob ファイルへの読み書きが可能となります。 書き込み機能はきわめて信頼性の高いものとなっていますが、 出来上がったファイルが他のアプリケーションから読み込めない可能性もあります。 というのも、Paradox についての資料があまりないからです。 pxlib >= 0.5.0 を使用すると、パスワードを指定しなくても 暗号化されたデータベースを読み込めます。
注意: このモジュールは開発途中であり、今後変更される可能性があります。 とはいえ、API に大きな変更を加えるつもりはありません。
関数の基本セットを使用するには、少なくとも PHP 5.0.0 および pxlib >= 0.4.4 が必要です。いくつかの新しい関数は、 pxlib >= 0.6.0 でのみ使用可能となります。 暗号化されたデータベースの読み書きには、少なくとも pxlib >= 0.5.0 が必要です。 paradox ライブラリ (pxlib) は、 http://pxlib.sourceforge.net で取得できます。
簡単なインストールメモ。コンソールで
$ pear install paradox |
設定ディレクティブは定義されていません。
paradox 拡張モジュールは、オブジェクト指向の API も提供しています。 この中に含まれるクラスは paradox_db だけです。 そのメソッドと関数の違いは、まず名前、 そしてもちろん最初のパラメータがないことです。 次の表に、すべてのメソッドとそれに対応する関数を示します。
表 1. paradox_db クラスのメソッド
メソッド名 | 同等な関数 |
---|---|
コンストラクタ | px_new() |
デストラクタ | px_delete() |
open_fp() | px_open_fp() |
create_fp() | px_create_fp() |
close() | px_close() |
numrecords() | px_numrecords() |
numfields() | px_numfields() |
get_record() | px_get_record() |
put_record() | px_put_record() |
retrieve_record() | px_retrieve_record() |
delete_record() | px_delete_record() |
insert_record() | px_insert_record() |
update_record() | px_update_record() |
get_field() | px_get_field() |
get_schema() | px_get_schema() |
get_info() | px_get_info() |
set_parameter() | px_set_parameter() |
get_parameter() | px_get_parameter() |
set_value() | px_set_value() |
get_value() | px_get_value() |
get_info() | px_get_info() |
set_targetencoding() | px_set_targetencoding() |
set_tablename() | px_set_tablename() |
set_blob_file() | px_set_blob_file() |
date2string() | px_date2string() |
timestamp2string() | px_timestamp2string() |
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
以下のふたつの表で、paradox 拡張モジュールで定義されている全ての定数を示します。
表 2. フィールド型の定数
名前 | 意味 |
---|---|
PX_FIELD_ALPHA | 固定長の文字データ |
PX_FIELD_DATE | 日付。0000 年 1 月 1 日からの経過日数 |
PX_FIELD_SHORT | Short 型の整数 (2 バイト) |
PX_FIELD_LONG | Long 型の整数 (4 バイト) |
PX_FIELD_CURRENCY | PX_FIELD_NUMBER と同じ |
PX_FIELD_NUMBER | Double |
PX_FIELD_LOGICAL | Boolean |
PX_FIELD_MEMOBLOB | バイナリラージオブジェクト |
PX_FIELD_BLOB | バイナリラージオブジェクト (サポートされません) |
PX_FIELD_FMTMEMOBLOB | バイナリラージオブジェクト |
PX_FIELD_OLE | OLE オブジェクト (基本的に blob です。サポートされません) |
PX_FIELD_GRAPHIC | 画像 (基本的に blob です。サポートされません) |
PX_FIELD_TIME | 時刻。深夜 0 時からの経過ミリ秒数 |
PX_FIELD_TIMESTAMP | タイムスタンプ。0000 年 1 月 1 日からの経過ミリ秒数 |
PX_FIELD_AUTOINC | 自動インクリメントの整数 (PX_FIELD_LONG と似ています) |
PX_FIELD_BCD | bcd フォーマットで保存された十進数 (サポートされません) |
PX_FIELD_BYTES | 255 バイトをこえないバイト配列 (サポートされません) |
PX_KEYTOLOWER | すべてのフィールド名を小文字にします |
PX_KEYTOUPPER | すべてのフィールド名を大文字にします |
表 3. ファイル型の定数
名前 | 意味 |
---|---|
PX_FILE_INDEX_DB | インデックス化されたデータベース |
PX_FILE_PRIM_INDEX | プライマリインデックス |
PX_FILE_NON_INDEX_DB | インデックス化されていないデータベース |
PX_FILE_NON_INC_SEC_INDEX | インクリメンタルでないセカンダリインデックス |
PX_FILE_SEC_INDEX | セカンダリインデックス |
PX_FILE_INC_SEC_INDEX | インクリメンタルなセカンダリインデックス |
PX_FILE_NON_INC_SEC_INDEX_G | インクリメンタルでないセカンダリインデックス |
PX_FILE_SEC_INDEX_G | セカンダリインデックス |
PX_FILE_INC_SEC_INDEX_G | インクリメンタルなセカンダリインデックス |