PHP マニュアル
前のページ |  | 次のページ

# CXV. Paradox ファイルアクセス

# 導入

警告
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な 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

とタイプしてください。事前に pxlib をインストールしておいてください。 rpm や debian パッケージで pxlib をインストールした場合は、 開発者向けパッケージも忘れずにインストールしてください。

# 実行時設定

設定ディレクティブは定義されていません。

# オブジェクト指向の API

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 | インクリメンタルなセカンダリインデックス

前のページ | ホーム | 次のページ
ovrimos_rollback | 上に戻る | px_close