
データの読み書きを行う
- $my_dictionary = CQT_Dictionary::factory();
- $books = CQT_Dictionary::factory();
- $books->insert('Book1.name', 'Javascriptクイックリファレンス');
- $books->insert('Book1.price', 2000);
- $books->insert('Book1.index', 'Javascriptのリファレンス オライリー');
- echo $books->find('Book1.name') . '<br />';
- echo $books->find('Book1.price') . '<br />';
- echo $books->find('Book1.index');
値は上書きされずArrayになる。
- $books->insert('Book1.name', '安全なWebアプリケーションの作り方');
- $books->dump('Book1.name');
- echo '<hr />';
- echo $books->find('Book1.name@0') . '<br />';
- echo $books->find('Book1.name@1');
array(2) {
[0]=>
string(40) "Javascriptクイックリファレンス"
[1]=>
string(48) "安全なWebアプリケーションの作り方"
}
設定されているpath以下に追加すると
- $books->insert('Book1.name.subtitle', '脆弱性が生まれる原理と対策の実践');
- $books->insert('Book1.name@enname', 'anzen na web');
- $books->dump('Book1.name');
array(4) {
[0]=>
string(40) "Javascriptクイックリファレンス"
[1]=>
string(48) "安全なWebアプリケーションの作り方"
["child"]=>
array(1) {
["subtitle"]=>
string(48) "脆弱性が生まれる原理と対策の実践"
}
["enname"]=>
string(12) "anzen na web"
}
key直下のデータを取得するには@を使う。.(ドット)はchildに置き換えられる。
- $data_sitemap = array(
- 'home' => array(
- 'name' => 'CaQuu::Tools',
- 'keyword' => '',
- 'desc' => '',
- 'child' => array(
- 'caquutools' => array(
- 'name' => 'CaQuuTools',
- 'keyword' => '',
- 'desc' => 'CaQuuToolsを利用する場合のオートロード。',
- ),
- 'cqt' => array(
- 'name' => 'CQT',
- 'keyword' => '',
- 'desc' => 'static なクラス関数',
- ),
- 'cache' => array(
- 'name' => 'Cache',
- 'keyword' => '',
- 'desc' => 'Zend::Cacheベースのキャッシュ',
- ),
- 'dictionary' => array(
- 'name' => 'CQT_Dictionary',
- 'keyword' => '',
- 'desc' => 'データの読み書きをおこなう。',
- ),
- 'fotolia' => array(
- 'name' => 'CQT_Fotolia',
- 'keyword' => 'Fotolia XML/RPC',
- 'desc' => 'FotoliaのAPIを利用して写真を取得する',
- ),
- 'sitetemplate' => array(
- 'name' => 'CQT_SiteTemplate',
- 'keyword' => '',
- 'desc' => 'サイトのテンプレート',
- 'child' => array(
- 'setup' => array(
- 'name' => '初期設定',
- 'keyword' => '',
- 'desc' => '',
- ),
- ),
- ),
- ),
- ),
- );
- $sitemap_data = CQT_Dictionary::factory($data_sitemap);
- echo $sitemap_data->find('home@name') . '<br >';
- echo $sitemap_data->find('home.dictionary@desc') . '<br >';
- echo $sitemap_data->find('home.sitetemplate.setup@name');
- if (is_a($sitemap_data->find('error.query'), 'CQT_Dictionary_Error')) {
- echo 'エラー';
- }