3
私は、以下に示すコードと同様の属性とメソッドを持つクラスを持っています。アイデアは、ディスパッチ配列内の要素を呼び出すことであり、その要素に対してリストされたメソッドは、リストされている順序で実行されます。私はメソッドを実行する方法について固執しています(execute()メソッドを参照)。これも可能ですか?配列にリストされたメソッドを実行する
コンストラクタでsetDispatch()が呼び出されますが、これは以下のコードには示されていません。
// attribute
private $_dispatch = [];
// methods
public function execute()
{
$dispatch = $this->getDispatch();
// NEED LOGIC HERE THAT EXECUTES METHODS LISTED IN $dispatch['A']
}
private function setDispatch()
{
$this->_dispatch = [
'A' => [
'method1',
'method2',
'method3'
],
'B' => [
'method4',
'method3',
'method1'
]
];
}
private function getDispatch()
{
return $this->_dispatch;
}
private function method1()
{
//do something
}
private function method2()
{
//do something
}
private function method3()
{
//do something
}
private function method4()
{
//do something
}