Don't forget to add "extension=paradox.so" to your php.ini
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 で取得できます。
インストール手順
この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » http://pecl.php.net/package/paradox
事前に pxlib をインストールしておいてください。 rpm や debian パッケージで pxlib をインストールした場合は、 開発者向けパッケージも忘れずにインストールしてください。
実行時設定
設定ディレクティブは定義されていません。
オブジェクト指向の API
paradox 拡張モジュールは、オブジェクト指向の API も提供しています。 この中に含まれるクラスは 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() |
リソース型
px_new() は新しい Paradox オブジェクトを作成します。 これは、すべての Paradox 関数で必要となります。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
以下のふたつの表で、paradox 拡張モジュールで定義されている全ての定数を示します。
| 名前 | 意味 |
|---|---|
| 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 | すべてのフィールド名を大文字にします |
| 名前 | 意味 |
|---|---|
| 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 | インクリメンタルなセカンダリインデックス |
目次
- px_close — paradox データベースを閉じる
- px_create_fp — 新しい paradox データベースを作成する
- px_date2string — 日付を文字列に変換する
- px_delete_record — paradox データベースからレコードを削除する
- px_delete — paradox データベースのリソースを削除する
- px_get_field — 単一のフィールドの仕様を返す
- px_get_info — paradox ファイルに関する多くの情報を返す
- px_get_parameter — パラメータを取得する
- px_get_record — paradox データベースのレコードを返す
- px_get_schema — データベーススキーマを返す
- px_get_value — 値を取得する
- px_insert_record — paradox データベースにレコードを挿入する
- px_new — 新しい paradox オブジェクトを作成する
- px_numfields — データベース内のフィールドの数を返す
- px_numrecords — データベース内のレコードの数を返す
- px_open_fp — paradox データベースをオープンする
- px_put_record — paradox データベースにレコードを保存する
- px_retrieve_record — paradox データベースのレコードを返す
- px_set_blob_file — blob を読み込むファイル名を設定する
- px_set_parameter — パラメータを設定する
- px_set_tablename — テーブルの名前を設定する (非推奨)
- px_set_targetencoding — 文字フィールドのエンコーディングを設定する (非推奨)
- px_set_value — 値を設定する
- px_timestamp2string — タイムスタンプを文字列に変換する
- px_update_record — paradox データベースのレコードを更新する
Paradox
23-Dec-2006 01:06
Some difficulties were encountered installing this extension on php 5.1.6. 're2c' was not found. On Fedora Core 5, php 5.1.6, I had to...
Install gc++ as re2c requires C++ and will not compile with the standard C compiler most often used.
Download re2c from sourceforge, untar, configure, make, make install.
Download pxlib from sourceforge, untar, configure, make, make install.
pecl install paradox (it has been moved from pear)