Laravel 5 프레임 입문(3)

이 튜 토리 얼 에 서 는 Laravel 5 자체 가 가지 고 있 는 상 자 를 열 고 사용 하 는 Auth 시스템 을 이용 하여 배경 에 대한 권한 검증 을 하고 프론트 페이지 를 구축 하여 Pages 를 보 여 줍 니 다.
1.권한 검증
배경 주 소 는http://localhost:88/admin입 니 다.저희 의 모든 배경 작업 은 이 페이지 나 하위 페이지 에서 진 행 됩 니 다.Laravel 5 가 제공 하 는 Auth 를 이용 하여 우 리 는 아주 적은 경로 코드 만 바 꾸 면 권한 검증 기능 을 실현 할 수 있 습 니 다.
우선,루트 그룹의 코드 를 다음 으로 변경 합 니 다.

Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'auth'], function()
{
  Route::get('/', 'AdminHomeComtroller@index');
  Route::resource('pages', 'PagesController');
});
위의 코드 중 한 가지 변화 만 있 습 니 다.'Route:group()'의 첫 번 째 매개 변수(하나의 배열)에'middleware'='auth'를 추가 하 였 습 니 다.현재 방문http://localhost:88/admin하면 로그 인 페이지 로 이동 할 것 입 니 다.점프 도 하지 않 았 다 면 당황 하지 말고 오른쪽 상단 에서 물 러 나 다시 들 어가 면 된다.
우리 의 개인 블 로그 시스템 은 사람들 로 하여 금 마음대로 등록 하 게 하고 싶 지 않 습 니 다.다음은 일부 경로 코드 를 바 꾸 고 기본 적 인 로그 인,로그아웃 기능 만 유지 할 것 입 니 다.
삭제:

Route::controllers([
 'auth' => 'Auth\AuthController',
 'password' => 'Auth\PasswordController',
]);
증가:

Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
권한 검증 을 위 한 최소 화 기능 이 있 는 배경 이 완료 되 었 습 니 다.이 배경 은 현재 Page(페이지)라 는 자원 만 관리 하고 있 습 니 다.다음 에 우 리 는 프론트 페이지 를 구축 하여 페이지 를 보 여줄 것 이다.
2.첫 페이지 구축
먼저 경로 코드 를 정리 하고 경로 의 맨 위의 두 줄 을 정리 합 니 다.

Route::get('/', 'WelcomeController@index');
Route::get('home', 'HomeController@index');
다음으로 변경:

Route::get('/', 'HomeController@index');
홈 컨트롤 러 를 사용 하여 프론트 페이지 전 시 를 지탱 할 것 입 니 다.
이 때 learnlaravel 5/app/Http/controllers/WelcomeController.php 컨트롤 러 파일 과 learnlaravel 5/resources/views/welcome.blade.php 보기 파일 을 삭제 할 수 있 습 니 다.
learnlaravel 5/app/Http/controllers/HomeController.php 를 다음 과 같이 수정 합 니 다.

<?php namespace App\Http\Controllers;

use App\Page;

class HomeController extends Controller {

 public function index()
 {
 return view('home')->withPages(Page::all());
 }

}

컨트롤 러 구조 완료.
`view('home')->with Pages(Page:all()'이 말 은 다음 과 같은 기능 을 수행 합 니 다.
렌 더 링 learnlaravel 5/resources/views/home.blade.php 보기 파일
$pages 변 수 를 보기 에 전달 합 니 다.$pages=page::all()
Page::all()은 Eloquent 의 all()방법 을 호출 하여 pages 표 의 모든 데 이 터 를 되 돌려 줍 니 다.
다음 에 보기 파일 을 쓰기 시작 합 니 다.
우선,우 리 는 전단 페이지 의 통 일 된 케이스,즉'헤드'부분 과'\#footer'부분 을 만 들 것 입 니 다.새 learnlaravel 5/resources/views/layouts/default.blade.php 파일(폴 더 는 스스로 만 드 십시오):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Learn Laravel 5</title>

 <link href="/css/app.css" rel="stylesheet">

 <!-- Fonts -->
 <link href='http://fonts.useso.com/css?family=Roboto:400,300' rel='stylesheet' type='text/css'>
</head>
<body>

 <div class="container" style="margin-top: 20px;">
  @yield('content')
  <div id="footer" style="text-align: center; border-top: dashed 3px #eeeeee; margin: 50px 0; padding: 20px;">
   ©2015 <a href="http://lvwenhan.com">JohnLui</a>
  </div>
 </div>


</body>
</html>

learnlaravel 5/resources/views/home.blade.php 파일 수정:

@extends('_layouts.default')

@section('content')
 <div id="title" style="text-align: center;">
 <h1>Learn Laravel 5</h1>
 <div style="padding: 5px; font-size: 16px;">{{ Inspiring::quote() }}</div>
 </div>
 <hr>
 <div id="content">
 <ul>
  @foreach ($pages as $page)
  <li style="margin: 50px 0;">
  <div class="title">
   <a href="{{ URL('pages/'.$page->id) }}">
   <h4>{{ $page->title }}</h4>
   </a>
  </div>
  <div class="body">
   <p>{{ $page->body }}</p>
  </div>
  </li>
  @endforeach
 </ul>
 </div>
@endsection

첫 번 째 줄`@extends('_layouts.default''이 페이지 를 대표 하 는 것 은 learnlaravel 5/resources/views/layouts/default.blade.php 의 하위 보기 입 니 다.이 때 Laravel 의 보기 렌 더 링 시스템 은 먼저 부모 보 기 를 불 러 오고 이 보기 의@section('content')에 있 는 내용 을 부모 보기 의@yield('content')에 넣 어 렌 더 링 합 니 다.
방문http://localhost:88/하면 다음 페이지 를 얻 을 수 있 습 니 다.

2.페이지 전시 페이지 구축
우선 루트 를 늘리다.경로 파일 의 첫 줄 아래 에 줄 을 추가 합 니 다.

Route::get('pages/{id}', 'PagesController@show');
새 컨트롤 러 learnlaravel 5/app/Http/controllers/pagesController.php 는 단일 page 의 전 시 를 책임 집 니 다.

<?php namespace App\Http\Controllers;

use App\Page;

class PagesController extends Controller {

 public function show($id)
 {
  return view('pages.show')->withPage(Page::find($id));
 }

}

새 보기 learnlaravel 5/resources/views/pages/show.blade.php 파일:

@extends('_layouts.default')

@section('content')
 <h4>
  <a href="/">⬅️    </a>
 </h4>

 <h1 style="text-align: center; margin-top: 50px;">{{ $page->title }}</h1>
 <hr>
 <div id="date" style="text-align: right;">
  {{ $page->updated_at }}
 </div>
 <div id="content" style="padding: 50px;">
  <p>
   {{ $page->body }}
  </p>
 </div>
@endsection

모두 완성,검사 성과:첫 페이지 에 있 는 글 의 제목 을 클릭 하고 글 전시 페이지 에 들 어가 면 다음 페이지 를 볼 수 있 습 니 다.

이로써 프런트 전시 페이지 는 모두 완성 되 었 고 튜 토리 얼 은 3 이 끝났다.
이상 에서 말 한 것 이 바로 본 고의 모든 내용 입 니 다.여러분 들 이 Laravel 5 구 조 를 배 우 는 데 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기