> PHP 프레임워크 > Laravel > Laravel이 로그인 및 등록 기능을 구현하는 방법을 설명하는 예

Laravel이 로그인 및 등록 기능을 구현하는 방법을 설명하는 예

PHPz
풀어 주다: 2023-04-12 09:26:04
원래의
2268명이 탐색했습니다.

Laravel은 매우 인기 있는 PHP 프레임워크로 단순성, 사용 용이성, 효율성, 안정성, 안전성 및 신뢰성이라는 장점을 갖고 있으며 웹 애플리케이션 개발에 널리 사용됩니다. 웹 애플리케이션 개발에 있어 로그인과 등록 기능은 필수인데, Laravel을 사용하여 로그인과 등록 기능을 구현하는 방법은 무엇일까요? 이번 글에서는 이에 대해 자세히 소개하겠습니다.

1. Laravel 설치

Laravel을 사용하여 개발하기 전에 먼저 Laravel을 설치해야 하며, 작곡가를 통해 설치하고 다음 명령을 사용하면 됩니다.

composer create-project --prefer-dist laravel/laravel project_name
로그인 후 복사

설치가 완료된 후 프로젝트가 있는 디렉터리를 입력하세요. 그리고 다음 명령을 실행하여 Laravel 서비스를 시작합니다:

php artisan serve
로그인 후 복사

2. 사용자 모델 및 데이터 테이블 생성

Laravel에서는 Eloquent ORM을 사용하여 데이터베이스 작업을 쉽게 처리할 수 있습니다. 사용자 모델과 데이터 테이블을 생성해야 합니다.

  1. 사용자 모델 생성

Laravel에서 모델을 생성하는 것은 매우 편리합니다. 명령줄에서 다음 명령을 사용하면 됩니다.

php artisan make:model User
로그인 후 복사

사용자 모델인 앱 디렉터리에 User.php 파일이 생성됩니다. Laravel은 기본적으로 모델의 복수형으로 테이블 이름을 설정하므로 다음과 같이 User 모델에서 테이블 이름을 설정해야 합니다:

class User extends Model
{
    protected $table = 'users';
}
로그인 후 복사

2. 사용자 데이터 테이블 생성

데이터베이스에 사용자 테이블 생성 및 실행 다음 명령을 사용하여 마이그레이션을 생성합니다.

php artisan make:migration create_users_table --create=users
로그인 후 복사

마이그레이션 파일은 아래와 같이 Database/migrations 디렉터리에 생성됩니다.

class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('users');
    }
}
로그인 후 복사

다음 명령을 실행하여 데이터 테이블을 생성합니다.

php artisan migrate
로그인 후 복사

3. 사용자 인증 생성을 위한 패키지

Laravel은 사용자 인증 시스템을 생성하는 데 사용할 수 있는 laravel/ui 패키지를 제공합니다. 먼저 다음 명령을 사용하여 laravel/ui 패키지를 설치하십시오:

composer require laravel/ui
로그인 후 복사

설치가 완료된 후 다음 명령을 실행하여 사용자 인증 시스템을 생성하십시오:

php artisan ui vue --auth
로그인 후 복사

이 명령의 기능은 기본 로그인 및 등록 보기를 생성하는 것입니다. Vue.js 프론트엔드 프레임워크의 일부입니다. 실행이 완료되면 resources/views 디렉터리에 auth/login.blade.php 및 auth/register.blade.php라는 두 개의 보기 파일을 포함하는 auth 폴더가 있음을 확인할 수 있습니다.

4. 라우팅 설정

Laravel에서 라우팅은 URL을 컨트롤러 메서드에 바인딩하는 메커니즘입니다. 로그인 및 등록 페이지에 액세스할 수 있도록 라우팅을 설정해야 합니다.

routes/web.php 파일에 다음 경로 정의를 추가하세요:

Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'Auth\LoginController@login');
Route::get('/register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'Auth\RegisterController@register');
로그인 후 복사

이 경로는 각각 Laravel의 기본 AuthLoginController 및 AuthRegisterController에 있는 메서드를 호출합니다.

5. 사용자 정의된 사용자 인증

실제 응용 프로그램에서는 비즈니스 요구 사항에 맞게 사용자 인증을 사용자 정의해야 하는 경우가 많습니다. 다음은 사용자 인증을 사용자 정의하는 단계입니다.

  1. LoginController 및 RegisterController 컨트롤러 만들기

app/Http/Controllers/Auth 디렉터리에 LoginController 및 RegisterController 컨트롤러를 만들어야 합니다. 코드는 다음과 같습니다.

class LoginController extends Controller
{
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'email' => 'required|email',
            'password' => 'required|min:6'
        ]);
    }

    public function showLoginForm()
    {
        return view('auth.login');
    }

    public function login(Request $request)
    {
        $validator = $this->validator($request->all());
        if ($validator->fails()) {
            return redirect('/login')
                        ->withErrors($validator)
                        ->withInput();
        }

        if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
            return redirect('/');
        } else {
            return redirect('/login')
                        ->withErrors(['email' => '邮箱或密码错误'])
                        ->withInput();
        }
    }
}
로그인 후 복사
class RegisterController extends Controller
{
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|unique:users',
            'password' => 'required|min:6|confirmed',
        ]);
    }

    public function showRegistrationForm()
    {
        return view('auth.register');
    }

    public function register(Request $request)
    {
        $validator = $this->validator($request->all());
        if ($validator->fails()) {
            return redirect('/register')
                        ->withErrors($validator)
                        ->withInput();
        }

        $user = User::create([
            'name' => $request['name'],
            'email' => $request['email'],
            'password' => bcrypt($request['password']),
        ]);

        Auth::login($user);
        
        return redirect('/');
    }
}
로그인 후 복사

In 사용자 정의 컨트롤러에서는 유효성 검사기 메서드를 사용하여 사용자 입력 데이터의 적법성을 확인하고 로그인 또는 등록 프로세스 중 오류를 처리합니다.

  1. 라우팅 수정

원래 라우팅을 다음 코드로 수정하세요:

Route::get('/login', 'LoginController@showLoginForm')->name('login');
Route::post('/login', 'LoginController@login');
Route::get('/register', 'RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'RegisterController@register');
로그인 후 복사

이렇게 코드를 저희 필요에 맞게 수정 및 작성하였으며, 로그인 및 회원가입 기능은 충분합니다.

6. 요약

이 문서에서는 사용자 모델 및 데이터 테이블 생성, laravel/ui 패키지를 사용하여 기본 사용자 인증 시스템 생성, 라우팅 설정 및 사용자 인증 사용자 정의를 포함하여 Laravel을 사용하여 사용자 로그인 및 등록을 구현하는 단계를 자세히 설명합니다. . 기본 버전이든 맞춤형 버전이든 Laravel을 사용하는 것은 매우 편리하며, 개발 효율성도 크게 향상되었습니다. PHP 개발자라면 Laravel을 사용해 보는 것이 좋습니다.

위 내용은 Laravel이 로그인 및 등록 기능을 구현하는 방법을 설명하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿