我正在开发一个 API,并且在控制器中,除了正在使用的模型之外,它的index
、store
、show
和update
方法destroy
都是相同的。
你将如何实现这一点?
我正在考虑在ActionRepository
哪里创建这些方法并以某种方式解析模型。我不确定我如何才能达到模型..
真的很感激对此的一些反馈;)!
我正在开发一个 API,并且在控制器中,除了正在使用的模型之外,它的index
、store
、show
和update
方法destroy
都是相同的。
你将如何实现这一点?
我正在考虑在ActionRepository
哪里创建这些方法并以某种方式解析模型。我不确定我如何才能达到模型..
真的很感激对此的一些反馈;)!
你可以这样做:
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;
}
}