애플리케이션의 요청에 대한 모든 처리 로직을 하나의 routes.php 파일에 정의하는 것 보다 별도의 컨트롤러 클래스를 통해서 구성할 수도 있다.
컨트롤러는 클래스를 구성하여 HTTP 요청에 대한 그룹을 지정한다.
컨트롤러는 app/Http/Controllers 디렉토리에 저장된다.
Route::get('/home', 'App\Http\Controllers\IndexController@index');
‘/index’ 주소에서 App\Http\Controllers\IndexController 파일의 index 메소드를 실행시킨다.
그러나 위 주소로 가면 IndexController 파일이 존재하지 않는다는 에러가 뜬다.
IndexController 컨트롤러 파일을 생성해야한다.
php artisan을 이용해 컨트롤러를 생성한다.
php artisan make:controller 컨트롤러이름
php artisan make:controller IndexController
코드를 실행하면 app/Http/Controller/IndexController.php 가 생성된다.
IndexController.php 파일을 열고 index 함수를 만들어 index.view를 return 하도록 한다.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class IndexController extends Controller
{
Public function index() {
return view('index');
}
}
resources/views 폴더 아래 index.blade.php 파일을 만들고 출력하고싶은 코드를 추가한다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>index 페이지입니다.</h1>
</body>
</html>
다시 서버를 실행하고 ‘/index’ 페이지에 접속해본다.