티스토리 뷰
Breeze란 Laravel에서 간단하게 인증 기능을 지원하는 스타터 키트다.
설치만 하면 로그인, 로그아웃, 이메일 인증, 비밀번호 초기화.. 를 프로그램으로 구현하지 않아도 바로 사용할 수 있다.
인증 구현이 이렇게 초간단해도 되는 것인가..!
자바 스프링으로 일일히 다 설정하고 코딩했던 것을 생각하면 눈물이 앞을 가린다. ㅠㅠ
자 그럼 어케 설치하는지 시작해보자.
1. 마이그레이션 파일 수정 혹은 추가
프로젝트를 생성했을 때 기본적으로 주어지는 아래의 마이그레이션 파일을 수정해도 되고, 새로 만들어도 된다.
어쨌거나 breeze를 사용하려면 사용자 테이블이 있어야 하니까.
나의 경우, 그냥 기존 마이그레이션 파일을 수정했다.
위의 파일에 설정한 대로 테이블을 생성하기 위해서는 마이그레이트 명령어를 쳐야 하는데, 그 전에 mysql DB 정보가 제대로 기입되어있는지 확인한다.
php artisan migrate
그리고 설정한 파일대로 테이블을 생성한다.
그럼 위와 같이 Migrated 메시지가 뜰 것이다.
php artisan make:migration create_테이블명_table
새로 파일을 생성해서 수정하려면 위와 같이 명령어를 친다.
생성된 파일은 database/migrations 폴더 안에 "YYYY-MM-DD_XXXXXX_create_테이블명.php"로 만들어질 것이다. 해당 파일을 수정하고 똑같이 php artisan migrate 명령어를 치면 마이그레이트가 된다.
그러나 만약!!! mysql을 사용하는데, 마이그레이트 명령어를 쳤을 때 위와 같은 could not find driver PDOException이 발생한다면 php를 설치한 폴더 안으로 이동해서 php.ini파일을 수정해줘야 한다.
extension=pdo_mysql 부분의 맨 앞에 세미콜론(;)을 삭제하여 주석을 해제해준다.
php가 설치된 폴더 안의 ext 폴더에 php를 사용함에 있어서 필요할 수 있는 여러 플러그인(?) 같은 파일들이 안에 들어가 있는데, php.ini 파일에서 그 파일들을 사용할지 여부를 명시해주는 것 같다. 윈도우 기준으로 ext 폴더 안을 찾아보면 php_pdo_mysql.dll 파일이 있음을 확인할 수 있다.
저 주석을 해제하고 명령 프롬프트(cmd)창에서 "php -i"를 쳤을 때 mysqlnd가 enabled로 보여야 한다.
정상적으로 마이그레이트가 되었다면, 위와 같이 데이터베이스에 테이블들이 생성된 것을 볼 수 있다.
database/migrations 폴더 안의 php파일에 명시해준 그대로다.
자, 이제 Breeze를 설치할 준비를 마쳤다.
브리즈를 설치해보자.
2. Breeze 설치
프로젝트 폴더 내로 이동해서 명령어를 실행한다.
composer require laravel/breeze --dev --ignore-platform-req=ext-fileinfo
php artisan breeze:install
npm install
npm run dev
npm이 없다면 node.js를 먼저 설치해야 한다. (Download | Node.js (nodejs.org))
이러면 브리즈 설치 끝.
php artian serve --port=포트번호
라라벨을 작동시키고 "http://localhost:포트번호"로 접속했을 때, 오른쪽 위에 Log in과 Register 링크가 보인다면 성공이다.
Resigter 링크를 클릭하고 들어가면 위 화면이 보일 것이다.
회원가입 로그인이 이렇게 쉽다니!
프로젝트 폴더 안을 보면 관련 파일들이 다 생성되어있으니, 입맛에 맞게 화면을 고치기만 하면 된다.
'공장 (factory) > - Programming..' 카테고리의 다른 글
[Kotlin-SpringBoot/IntelliJ] Open jdk20 기준 세팅하기 (0) | 2023.06.27 |
---|---|
[Laravel] php 설치부터 Laravel 프로젝트 생성까지 (MacOS 기준) (0) | 2022.04.27 |
[Laravel] php 설치부터 Laravel 프로젝트 생성까지 (윈도우 기준) (1) | 2022.04.12 |
[javascript] 유동적인 테이블 셀병합을 위한 데이터 가공 (0) | 2022.01.11 |
[Java/Javascript] 페이징 paging 예제 (1) | 2021.12.24 |