/** * @route venues/all */ public function all() { $venueList = array(); $venueViewModel = new VenueViewModel(); $venuesFromDb = new VenueModel(); $allvenuesFromDb = $venuesFromDb->getAll(); foreach ($allvenuesFromDb as $item) { $this->mapper->map($item, $venueViewModel); // objects are passed as reference ->creates deep copy before array_push $copy = unserialize(serialize($venueViewModel)); array_push($venueList, $copy); } return new View($venueList); }