나는 laravel에 꽤 새로 왔으며, laravel MVC 애플리케이션에서 보았던 것에서 컨트롤러를 사용하여 컨트롤러를 사용하여 View::make('[PATH]')
을 통해보기를 반환하므로 일반적인 시나리오는 이렇게 될 것입니다. : 응용 프로그램/routes.php더 나은 길 찾기 및 생성보기
Route::get('search', array(
'uses' => '[email protected]',
'as' => 'search.index'
));
Route::get('search_result', array(
'uses' => '[email protected]',
'
));
응용 프로그램/컨트롤러/그 경우 나중에 O를 제외한 모든 좋은 SearchControllers.php
public function newSearch()
{
return View::make('search');
}
public function runSearch()
{
//validate and query search
return View::make('search')
->with('result',$result);
}
n 우리는 뷰를 재구성하고 search.php
을 다른 관련 뷰와 함께 예를 들어 web/search.php
에 배치하기로 결정 했으므로 뷰에 대한 경로를 업데이트하기 위해 모든 컨트롤러를 추적하지 않아도됩니까?
대신,이 모든 단점 내가 대신이 같은 '보기 공장'으로 route.php을한다면 :
추가 경로를 만들기 위해 필요하지만 여전히 작동합니다Route::get('search', array('as' => 'search.index', function()
{
return View::make('search');
}));
Route::get('search_query', array(
'uses' => '[email protected]'
));
Route::get('search_result', array('as' => 'search.result', function()
{
return View::make('search')
->with('result',Session::get('result'));
}));
보기를 재구성하거나보기의 이름을 변경해야한다면 route.php을 추적하고 업데이트하면됩니다.
경로와 컨트롤러를 연결하는 데 문제가 있습니까? 또는 컨트롤러에서 뷰 경로를 추상화하는 다른 더 좋은 방법이 있습니까?
예에서 수정 된 컨트롤러에 대한 코드를 첨부하지 않았지만 예, 라우팅에서 비즈니스 로직 처리를 수행하지 않습니다. 컨트롤러가 무엇인지 알아야합니다. 비즈니스 논리로 매개 변수 (결과). 내가 어떻게 MVC 애플 리케이션을 작성하는 일반적인 관행이지만, 만약이 경우에, RESTful 컨트롤러를 작성 제외하고보기를 반환하는 더 좋은 방법이 궁금 해서요. – har2vey
@ har2vey 나는 내가 말할 수있는 순간에 받아 들일 만하다고 말하고 있지만 컨트롤러에는 단 한 번의 리턴 이상의 무엇인가가 있어야합니다. –