지금부터 Web 개발의 백엔드를 배우는 in 2018(PHP7편 - 0.72일째)|인증

앞으로 웹 개발의 백엔드를 배우는 in 2018 (PHP7편 - 0.7일째)) 의 계속입니다.

Udemy 온라인 자료 【2일로 할 수 있는】처음 PHP 7 x Laravel 5.5 입문
강의 70 : Scaffold의 라이브러리를 추가하려고까지 왔어요.

교재의 개발 환경과 Laradock에서 작성한 로컬 개발 환경의 차이점을 발견



또 전회 같이, 여기에서도 제가 Laradock를 사용해 구축한 PHP7/Laravel 개발 환경과, 교재의 환경에서 차이가 있었습니다.
이것은 Laravel의 사소한 버전 때문입니다.

교재 개발 환경


PHP: v7.0.2
Laravel: 5.5

Laradock로 만든 개발 환경


#workspaceコンテナにアクセス
docker-compose exec  workspace bash

#PHPのバージョン
php -v

PHP 7.2.0-2+ubuntu16.04.1+deb.sury.org+2 (cli) (built: Dec  7 2017 20:14:31) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.2.0-2+ubuntu16.04.1+deb.sury.org+2, Copyright (c) 1999-2017, by Zend Technologies

#Laravelのバージョン
composer show laravel/framework | grep versions

versions : * v5.6.12

우선, 인증 주위의 기능을 php artisan 커멘드로 일괄 통째로 추가해 본다


#workspaceコンテナにアクセス
docker-compose exec  workspace bash

#make:authと言うのがLaravelで予約語のような黒魔術になっていて、
#自動的に認証周りのビュー機能を一式を全て追加してくれる感じ???
#コントローラー系はLaravelが標準搭載してる認証機能があってそれを使う模様。
php artisan make:auth --views

명령 실행 결과의 출력 소스





시작 후 화면





→app.blade.php가 변경되어 네비게이션 바에 마음대로 「Login」「Register」가 달라붙은 홈 화면으로 바뀌었다.

'Login' 내비게이션 누르기





→ 로그인 화면이 표시됨

'Register' 내비게이션 누르기





→ 사용자 등록 화면이 표시됨

라우팅 시 인증 확인



・전반적인 체크를 스스로 Route::auth()로서 추가. 각 라우팅의 처리 실행 전에 미들웨어에서도 인증.

app/routes/web.php
Route::group(['middleware' => ['web']], function() {
  ・・・・・・
-    Route::get('/', function() {
+    Route::get('/', ['middleware' => 'auth', function() {
        $books = Book::all();
        return view('books', [
            'books' => $books
        ]);
-    });
+    }]);

+  Route::auth();
});

사용자를 등록하고 로그인했습니다.





→네비게이션 바에 유저명 표시되어, 로그아웃의 풀다운을 선택할 수 있게 되어 있었다!

すげー, 이것만으로, 뭔가 기본으로 할 수 버렸다! ! !
그래서 여기에서 찾은 차이점입니다.

찾은 인증의 차이점



・Laravel이 표준 탑재하고 있는 인증 기능이 조금 달랐습니다.
・교재 환경은 Bootstrap3이지만, Laradock 환경에서 생성하면 Bootstrap4의 소스 토출했습니다.
・교재 환경의 네비게이션 바에는 「HOME」가 추가되고 있었지만, Laradock 환경에서는 나오지 않았습니다.

교재 환경의 Laravel 표준 탑재의 인증 처리


app/Http/Controllers/Auth/AuthContoroller.php
app/Http/Controllers/Auth/PasswordContoroller.php

Laradock로 만든 개발 환경의 Laravel 표준 탑재 인증 처리


app/Http/Controllers/Auth/LoginController.php
app/Http/Controllers/Auth/RegisterController.php
app/Http/Controllers/Auth/ForgotPasswordController.php
app/Http/Controllers/Auth/ResetPasswordController.php

표준 탑재하고 있는 인증 처리의 파일의 위치는 같지만 준비되어 있는 파일이 다르다



파일은 다릅니다만, 처리를 분할한 것만으로 실질은 같은지,
혹은 진화하고 있는지, 그 근처는 모릅니다.

다만, 그것을 전혀 의식하지 않고, 거의 php artisan make:auth 커멘드 한발로 만들 수 있었습니다.
대단합니다.

공부로 만드는 프로젝트 소스

좋은 웹페이지 즐겨찾기