Разработка шаблона для повторного использования кода с разными экземплярами

Я разрабатываю API и в контроллере index, store, show, update а также destroy методы все те же, за исключением используемой модели.

Как бы вы это реализовали?

Я думал о ActionRepository где я создаю эти методы и решу модель как-нибудь. Я не уверен, как я могу добраться до модели, хотя ..

Действительно был бы признателен за некоторые отзывы об этом;)!

0

Решение

Вы можете сделать это:

abstract class BaseController extends LaravelController {
protected $repository; // or $model or whatever you need

public function index() { // your logic }
public function show($id) {
// your logic here, for example
return $this->repository->find($id);
// or
return $this->model->find($id);
}
public function create() { // your logic }
public function store() { // your logic }
public function edit($id) { // your logic }
public function update($id) { // your logic }
public function destroy($id) { // your logic }
}

class SomeSolidController extends BaseController {
public function __construct(SomeRepositoryInterface $repository)
{
$this->repository = $repository;
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector