Laravel 5 프레임 입문(3)
7889 단어 laravel5laravel 입문 강좌
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 구 조 를 배 우 는 데 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel5 튜토리얼 블로그 돌아가기 (2) 블로그 기사 투고 양식 만들기전회까지로, DB·테이블의 설정을 할 수 있었으므로, 이번은 관리 화면측의 블로그 기사를 투고하는 폼을 만들어 갑니다. 우선, 보존 처리 등은 생각하지 않고, 간단하게 View 템플릿을 읽어 표시하는 것만의 처리를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.