我正在开发一个宁静的laravel应用程序,我需要知道在Laravel中实现路由,控制器和方法的最佳实践是什么,以支持我们restful requests,HTTP web requests我们可以轻松创建资源控制器,然后将以下行添加到routes文件在Laravel:
Route::resource('Photo', 'PhotoController');
然后在PhotoController我们只需要添加以下代码行,这些代码返回json所有照片的响应:
class PhotoController {
public function index()
{
$photos = Photo::all();
return response()->
json(['result' => $photos]);
}
}
Run Code Online (Sandbox Code Playgroud)
我们还需要一个Controller和一个method响应Web HTTP请求并返回一个网页而不是一个json响应的响应,该响应向Web用户显示所有照片
问题: 放置此方法的最佳位置在哪里和控制器是一个好的做法,将它放在同一个Controller中并返回一个视图?像下面的例子
class PhotoController{
public function getAll(){
$photos = Photo::getAll();
return view('views',['photos'=>$photos]);
}
}
Run Code Online (Sandbox Code Playgroud)
或者创建另一个Controller并在那里处理Web请求并rout在routes文件中添加一个新的例如:mysite.com\photos\all到routes文件?
或者我是否必须将此保留在另一个中,Controller或者我是否必须使用与以下示例相同的方法来确定请求是否来自Web:
public function index()
{
$photos = Photo::all();
if ( from web ){
return …Run Code Online (Sandbox Code Playgroud)