public function edit(): bool
{
$possible = [
'hide' => 'hideSubject',
'fast-edit' => 'fastEdit'
];
if(array_key_exists($this->type, $possible)) {
return $this->$possible[$this->type]();
}
return false;
}
Но при всей лаконичности этого решения у него есть очень серьезный недостаток.
Совершив опечатку, вы узнаете о ней только тогда, когда выпадет конкретный кейс - никакие инструменты ее не помогут заметить.
И поиск в IDE по коду, где вызываются конкретные методы, это место - не покажет.
Так что использование его внутри одного класса еще может быть оправдано. А вот как диспетчер публичных методов - it smells a lot.