io/csvモジュール
CSVファイルをSQLのテーブル制御に似たインターフェースで制御する。CSVファイルはDBを使うよりは簡単にコーディングできる手軽さはあるが、巨大なデータの管理や公開したくないデータの管理には向かない。ただし、テーブルを複数のCSVファイルに分割して管理するNM_NestedCsvTableクラスを用いればある程度大きなデータを扱うこともできる。また、CSVファイルで保存されるため、自システム外から直接参照できるため、低コストで外部システムとデータ連携ができるというメリットはある。
提供するクラスは次の2つ
- NM_CsvTable($filepath, $desc, $config)クラス: 1つのCSVファイルを1テーブルとして扱うクラス。
- NM_NestedCsvTable($dirpath, $desc, $config)クラス: 複数のCSVファイルを1テーブルとして扱うクラス。いくつかのフィールド変数をキーとしてクラスタリングを行う。
各クラスには下記のメソッドが定義されている。
- create(): テーブルの生成。
- destroy(): テーブルの破棄。
- insert(&$elms): 要素の追加。$elmsは要素(マップ形式)の配列。
- update(&$elms): 要素の更新。$elmsは要素(マップ形式)の配列。
- remove($cond): 要素の削除。$condは条件文。
- load(&$cont, $cond): 要素の読み込み。$contは読み込み先のコンテナ、$condは読み込み条件。