PHPで、$_POST等の連想配列をクラスに渡すメソッドと、その値を返すメソッドに名前を付けるなら適切なものはなんでしょう?


検索してみたら、setArray()/getArray()、またはfromArray()/toArray()があるようですがその違いが分かりません。使い方は下記になります。

$class = new Hoge();
$class->fromArray($_POST); ※$_POSTの値をHogeクラスに代入
$params = $class->toArray(); ※上記で代入した連想配列で返す

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/06/19 13:25:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント50pt

対象のクラスが、配列と is-a の関係にあるかどうか、で使い分けます。

ただ設定するだけであれば、setArray()。

対象のクラスが配列と見なせるようなクラスであれば、配列から変換する、という意味を込めて、fromArray()。


慣習的に fromArray / toArray をよく見ますが、convertFromArray / convertToArray だと思えば良いと思います。

id:xxmasaxx

自分の想定している用途だとsetArray()になります。

スッキリしました。回答有り難うございます。

2011/06/13 10:07:13
id:dothan No.2

回答回数145ベストアンサー獲得回数25

ポイント50pt

fromArrayの場合は、引数として渡した配列をオブジェクトに変換/インポートして与えるという意味合いで使われます。

英語で書くなら、

import/convert to $class from $_POST

という感じです。

toArrayはその逆で、

import/convert to $params from $class

ということです。


単に配列をコピーして渡すだけなら、setArray()/getArray() でかまわないでしょう。

id:xxmasaxx

なるほど。変換するかしないか、で違うものなんですね。

回答どうも有り難うございました。

2011/06/13 10:09:57

コメントはまだありません

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

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

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

回答リクエストを送信したユーザーはいません