Display
スクリプトの HTML 出力を処理するオブジェクトがあります。mode
出力の生成方法の多くの側面を定義するプロパティがあります。いくつかのモードがあり、後でさらに追加する予定です。各モードは、独自のパラメーターを意味します。たとえば、author
モードはauthorID
. search
モードはSearch
、クエリ情報を含むオブジェクトをパラメーターとして意味します。モードは、およびパラメーターcomment
を意味します。postID
commentID
したがって、 aには、 に応じてmode
、name
といくつかの があります。parameters
name
とのDisplay_Mode
2 つのプロパティを持つオブジェクトを作成することにしました。しかし、どのように割り当てますか? 私がモードを持っている場合、それは必然的にパラメーターがあることを意味しますか?name
parameters
parameters
names
comment
postID
commentID
私の現在の解決策はこれです:
class display_mode{
public $name;
public $params;
public function __construct($name)
{
$this->name = $name;
switch ($this->name){
case 'comment':
$this->params = array('postID', `commentID`);
break;
case 'author':
$this->params = array('authorID');
}
//etc..
}
}
これは少し厄介なようです。より良い方法はありますか?
UPD:与えられた回答により、設計全体に関する別の質問をするようになりました。これは、この質問のコンテキストも提供します。