我有以下模式。或者更好的IDEA! 有從BaseUnit
繼承的「單元」類和從BaseUser
繼承的「用戶」類。後代單位和後代用戶在結構上非常相似。PHP:動態語言的美女。設計模式
我想申請一個「工具欄」功能,爲用戶提供單位
工作它可以像
class KickerUser extends BaseUser{
public $toolbar = array('view()', 'kick("right_leg", "twice")')
}
class BaseUnit{
public function view();
public function kick($a, $b);
public function bite($c);
protected function applyToolbar($user){
///////////////HERE COMES THE TRICK////////
foreach($user->toolbar as $t){
$this->$t;
}
// should I use eval() for this
// to become something like: $this->bite('hard');
// i'm interested in making the readable code
// and passing constant parameters
/////////////HOW TO WRTITE THIS CORRECTLY ?
}
}
這是做事情的好辦法嗎?