#2 Get Route
우선 Get방식을 통해서 데이터 배열 혹은 리스트를 user URL에 뿌려주는 방식을 시도해 볼 것이다.
그러기 위해선 컨트롤러를 생성해야 한다.
터미널을 켜고 php artisan make:controller UsersController
을 치면, app/Http/Controllers/UsersController.php
가 생긴다.
class UsersController extends Controller
{
public function index() {
$users = [
'0' => [
'first_name' => 'Renato',
'last_name' => 'Hysa',
'location' => 'Ansan'
],
'1' => [
'first_name' => 'Jeewoo',
'last_name' => 'Yoon',
'location' => 'Ansan'
]
];
return $users;
}
}
app/Http/Controllers/UsersController.php
위의 코드처럼 UsersController
내부에 index()
라는 Function을 만들고 거기서 $users
배열, 리스트를 리턴을 하게 되면,
routes/web.php
에서
Route::get('users', ['uses' => 'UsersController@index']);
라는 코드를 통해서 컨트롤러의 Function에 접근하게 되고, $users
값이/users
화면에 뿌려지게 된다.
Blade와 Route를 같이 사용하는 맛보기 코드를 짜보자.
우선 resources/views/admin/users
라는 디렉토리 안에, index.blade.php
를 만든다.
그리고 app/Http/Controllers/UsersController.php
의 코드를 다음과 같이 수정한다.
class UsersController extends Controller
{
public function index() {
$users = [
'0' => [
'first_name' => 'Renato',
'last_name' => 'Hysa',
'location' => 'Ansan'
],
'1' => [
'first_name' => 'Jeewoo',
'last_name' => 'Yoon',
'location' => 'Ansan'
]
];
// admin/users/index.blade.php
return view('admin.users.index',compact('users'));
}
}
끝에 return
하는 부분만 수정한 것인데, admin/users/index.blade.php
에 $users
라는 변수를 넘기는 코드이다.
이렇게 되면, index.blade.php
에서 다음과 같이 받을 수 가 있다.
@foreach($users as $user)
<li>{!! $user['first_name'] !!} {!! $user['last_name'] !!} from {!! $user['location'] !!}</li>
@endforeach
{{!!}}
이라는 Blade Syntax로 php코드를 Embed 시킬 수가 있다.