【发布时间】:2016-02-08 11:33:58
【问题描述】:
我对 OOP 有点陌生,虽然我对接口和抽象类有点了解。我有很多资源控制器在更大的方案中有些相似,它们看起来都像下面的示例,唯一的主要区别是索引和我传递给索引视图的内容。
我只需要知道,我可以用我的资源控制器进行一些 OO 操作吗?例如,创建一个“主”资源控制器,我只需使用接口传递正确的实例?我试着玩弄这个,但我得到一个接口不可实例化的错误,所以我不得不绑定它。但这意味着我只能将接口绑定到特定的控制器。
任何建议、提示和指示都会帮助我:)
class NotesController extends Controller
{
public function index()
{
$notes = Note::all();
return view('notes.index', compact('notes'));
}
public function create()
{
return view('notes.create');
}
public function show(Note $note)
{
return view('notes.show', compact('note'));
}
public function edit(Note $note)
{
return view('notes.edit', compact('note'));
}
public function store(Request $request, User $user)
{
$user->getNotes()->create($request->all());
flash()->success('The note has been stored in the database.', 'Note created.');
return Redirect::route('notes.index');
}
public function update(Note $note, Request $request)
{
$note->update($request->all());
flash()->success('The note has been successfully edited.', 'Note edited.');
return Redirect::route('notes.index');
}
public function delete($slug)
{
Note::where('slug', '=', $slug)->delete();
return Redirect::to('notes');
}
}
【问题讨论】:
-
你应该在这里使用命名空间。
-
我留下了所有的命名空间并包括在内,因为这与这个问题无关 imo :)
-
我没有这个问题,我通过绑定解决了这个问题,这不是我在这里要问的。
-
好的。现在我收到你的问题了。我专注于你写的错误:)