PHPのクラス(関数でもいいです。)でカテゴリを扱うものを探しています。カテゴリのデータは、連想配列として保存されるものがいいです。データベースにカテゴリのデータを行として保存するのはいくつかありますけど、それほど多くないカテゴリの場合には丸ごと連想配列で保存するのがいいかなと思っています。blog で使うカテゴリの編集などに使うレベルのものです。この程度ならわざわざ行に分解してデータベースに保存するまでもないはずです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/31 10:53:19
  • 終了:2008/02/07 10:55:02

回答(2件)

id:GoldenDawn No.1

GoldenDawn回答回数426ベストアンサー獲得回数812008/01/31 12:03:02

ポイント35pt

具体的にどの様なデータかにもよりますが、INIファイルを使うとか。

http://www.php.net/manual/ja/function.parse-ini-file.php

ただし、キーに使えない単語があったり、PHP4 と PHP5 で挙動が違ったりとちょっと使い勝手は悪いです。

http://pear.php.net/package/Config

書き出しは PEAR::Cofnig とか。


あとは JSON とか。

http://labs.unoh.net/2007/11/using-json-with-php.html

id:isogaya

PEAR ほど重くなくて、軽いクラスでなんかありそうな気がするのですけど

2008/01/31 12:06:08
id:openseed No.2

openseed回答回数51ベストアンサー獲得回数62008/02/01 00:10:10

ポイント35pt

serialize / unserialize など、利用出来そうでしょうか?

連想配列を文字列に変換して、直接ファイル等に保存してはいかがでしょう?

$contents = array(1,2,3);
$filename = "hoge.dat";
if ($handle = fopen($filename, 'a')) {
if (fwrite($handle, serialize($contents)) !== false) {
fclose($handle);
}else{
throw new Exception("Cannot write file: $filename");
}
}

if ($handle = fopen($filename, "r")){
$contents = fread($handle, filesize($filename));
fclose($handle);
}else{
throw new Exception("Cannot open file: $filename");
}




http://jp.php.net/manual/ja/language.oop.serialization.php

http://jp.php.net/manual/ja/function.unserialize.php

http://jp.php.net/manual/ja/function.serialize.php


質問の意味を取り違えていたら、申し訳ありません。

id:isogaya

この部分はいいんです。カテゴリ追加したり、削除したり、変更したりというのがあります。

2008/02/01 01:04:26
  • id:openseed
    if ($handle = fopen($filename, 'a')) {

    if ($handle = fopen($filename, 'w')) {

    が正しいですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません