Human
缶がItem
彼のポケットの中にあるとしましょう。それぞれItem
がに異なる影響を及ぼしHuman
ます。
彼がアイテムを使用するとき、それは行きますItemController
:
class ItemController extends Controller
{
public function useAction() {
// Human
$human = new Human();
// Item
$request = Request::createFromGlobals();
$item_id = $request->request->get('item_id', 0);
$item = new Item($item_id);
// Different effects depending on the Item used
switch($item->getArticleId()) {
case 1: $this->heal($human, $item, 5); break; // small potion
case 2: $this->heal($human, $item, 10); break; // medium potion
case 3: $this->heal($human, $item, 15); break; // big potion
}
}
// The following Heal Function can be placed here ?
private function heal($human, $item, $life_points) {
$human->addLife($life_points);
$item->remove();
return new Response("You have been healed of $life_points");
}
}
ここに置くことはheal function
できますか?私はそれがコントローラーにあるはずではないと信じています。Item Entity
しかし、私はそれを(応答のため、そして$ Humanを使用しているため)内部に配置すべきではないとも信じています