<code>Route::get('about', 'PagesController@about');</code>
브라우저에서 탐색할 때 오류가 발생합니다. 오류 메시지는 단지 프롬프트 메시지일 뿐이며, 프로덕션 환경에서는 괜찮지만, 개발 단계에서 자세한 정보를 얻을 수 있기를 바랍니다.
<code>APP_DEBUG=true</code>
이렇게 하면 PagesController가 존재하지 않는다는 자세한 오류 메시지가 표시됩니다. 하지만 프로덕션 환경에서는 false로 설정해야 합니다
<code>php artisan</code>
laravel에서 제공하는 기능을 보실 수 있습니다.
<code>php artisan make:controller PagesController</code>
좋아, PagesController.phpapp->http->controller
가
<code><?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class PagesController extends Controller { /** * Display a listing of the resource. * * @return Response */ public function index() { // } /** * Show the form for creating a new resource. * * @return Response */ public function create() { // } /** * Store a newly created resource in storage. * * @return Response */ public function store() { // } /** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // } }</code>
이런 방식으로 생성된 컨트롤러에는 필요한 모든 RESTful 메서드가 포함되어 있으므로 단순화할 수 있습니다. 생성된 PagesController.php를 삭제하고 명령줄에서 실행합니다.
<code>php artisan make:controller PagesController --plain</code>
생성된 결과를 다시 살펴보세요
<code><?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class PagesController extends Controller { // }</code>
기본적으로 빈 컨트롤러이므로 모든 메서드를 직접 만들어야 합니다.
명령줄에서 실행할 수 있는 매개변수를 알고 싶다면 다음 명령을 실행하여 도움말을 볼 수 있습니다
<code>php artisan help make:controller</code>
알겠습니다. help 명령을 사용하면 이러한 매개변수를 이해하는 데 도움이 되는 경우가 많습니다.
<code> public function about() { return 'About Page'; }</code>
브라우저에서 결과를 보면 오류가 사라지고 간단한 정보가 반환됩니다.
물론 html 문서를 반환하고 about 메소드의 반환을 수정하려고 합니다.
<code> public function about() { return view('pages.about'); }</code>
참고: 반환된 결과는 pages.about
입니다. 이는 views
하위 디렉터리 내의 pages
하위 디렉터리에 있는 about.balde.php
파일을 의미합니다. resourcesviewspagesabout.balde.php
파일
<code><!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>About</h1> </body> </html></code>
브라우저를 실행해 보세요.
PagesController.php 수정
<code> public function about() { $name = 'Zhang Jinlgin'; return view('pages.about')->with('name', $name); }</code>
about.blade.php 보기 파일 수정
<code><h1>About <?= $name ?></h1></code>
빙고, 결과를 확인해보세요.
우리가 사용하는 laravel은 블레이드 템플릿을 사용하므로 이 이점을 사용하여 뷰를 수정할 수 있습니다.
<code><h1>About {{ $name }}</h1></code>
블레이드에서 {{}}는 html의 의미를 벗어났습니다.
<code>$name = '<span style="color: red">Zhang Jinlgin</span>';</code>
결과를 보고 모든 HTML 요소가 이스케이프되었음을 확인합니다. 하지만 HTML을 벗어날 필요가 없다면 {!! !!}를 사용하여 뷰를 수정할 수 있습니다.
<code><h1>About {!! $name !!}</h1></code>
결과를 다시 보시죠,??
이상으로 Laravel 5(3)의 기본 사항을 소개했습니다. 뷰에 데이터를 전송하는 내용과 그 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.