我開發一個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;
}
}
我將如何使用Laravel 5中的Request類?導致在每個方法中,我必須注入另一個Request對象。 例如,從'Eventcontroller'中,我需要在我的'Basecontroller'的更新方法中使用'UpdateEventRequest'。 – guidsen 2014-09-30 23:09:36
然後調整它,我顯示的方式是基本的L4控制器。在Laravel5中,由於方法注入和其他很酷的功能,您擁有更多的功能。 – 2014-09-30 23:14:05
如何將特定的Request類注入到我的BaseController方法中的任何建議或提示? – guidsen 2014-09-30 23:16:28
BaseController與方法,並注入到控制器擴展它的模型/存儲庫 - 從我的頭頂。 – 2014-09-30 14:30:49
它是一個抽象類還是你的意思,你能提供一個簡單的例子嗎?將不勝感激:)! @JarekTkaczyk – guidsen 2014-09-30 15:39:12