Rumah  >  Artikel  >  rangka kerja php  >  Contoh untuk menerangkan cara Laravel melaksanakan fungsi log masuk dan pendaftaran

Contoh untuk menerangkan cara Laravel melaksanakan fungsi log masuk dan pendaftaran

PHPz
PHPzasal
2023-04-12 09:23:392226semak imbas

Laravel ialah rangka kerja PHP yang sangat popular Ia mempunyai kelebihan kesederhanaan, kemudahan penggunaan, kecekapan, kestabilan, keselamatan dan kebolehpercayaan, dan digunakan secara meluas dalam pembangunan aplikasi web. Dalam pembangunan aplikasi web, fungsi log masuk dan pendaftaran adalah penting, jadi bagaimana untuk menggunakan Laravel untuk melaksanakan fungsi log masuk dan pendaftaran? Artikel ini akan memperkenalkannya kepada anda secara terperinci.

1. Pasang Laravel

Sebelum menggunakan Laravel untuk membangunkan, anda perlu memasang Laravel terlebih dahulu Anda boleh memasangnya melalui komposer dan menggunakan arahan berikut:

composer create-project --prefer-dist laravel/laravel project_name

Selepas pemasangan selesai, masukkan direktori lokasi projek, jalankan arahan berikut untuk memulakan perkhidmatan Laravel:

php artisan serve

2. Cipta model pengguna dan jadual data

Dalam Laravel, anda boleh mudah menggunakan Eloquent ORM untuk mengendalikan operasi pangkalan data. Kita perlu mencipta model pengguna dan jadual data.

  1. Buat model pengguna

Mencipta model dalam Laravel adalah sangat mudah, cuma gunakan arahan berikut pada baris arahan:

php artisan make:model User

A Fail User.php akan dijana dalam direktori aplikasi, iaitu model pengguna. Laravel akan menetapkan nama jadual kepada jamak model secara lalai, jadi kita perlu menetapkan nama jadual dalam model Pengguna, seperti berikut:

class User extends Model
{
    protected $table = 'users';
}

2 Cipta jadual data pengguna

dalam pangkalan data Cipta jadual pengguna dalam dan jalankan arahan berikut untuk mencipta migrasi:

php artisan make:migration create_users_table --create=users

Fail migrasi akan dijana dalam direktori pangkalan data/migrasi, seperti yang ditunjukkan di bawah:

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');
    }
}

Laksanakan arahan berikut Jana jadual data:

php artisan migrate

3 Gunakan pakej laravel/ui untuk membuat pengesahan pengguna

Laravel menyediakan pakej laravel/ui yang boleh. digunakan untuk mencipta sistem pengesahan pengguna. Mula-mula gunakan arahan berikut untuk memasang pakej laravel/ui:

composer require laravel/ui

Selepas pemasangan selesai, laksanakan arahan berikut untuk mencipta sistem pengesahan pengguna:

php artisan ui vue --auth

Fungsi daripada arahan ini adalah untuk mencipta Vue Paparan log masuk dan pendaftaran lalai bagi rangka kerja bahagian hadapan js. Selepas pelaksanaan selesai, anda akan mendapati bahawa terdapat folder auth dalam direktori sumber/pandangan, termasuk dua fail paparan auth/login.blade.php dan auth/register.blade.php.

4. Tetapkan penghalaan

Dalam Laravel, penghalaan ialah mekanisme yang mengikat URL kepada kaedah pengawal. Kami perlu menyediakan penghalaan supaya kami boleh mengakses halaman log masuk dan pendaftaran.

Dalam fail route/web.php, tambahkan takrif laluan berikut:

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');

Laluan ini akan memanggil kaedah dalam AuthLoginController lalai Laravel dan AuthRegisterController masing-masing.

5. Pengesahan pengguna tersuai

Dalam aplikasi praktikal, kami selalunya perlu menyesuaikan pengesahan pengguna untuk memenuhi keperluan perniagaan. Berikut ialah langkah-langkah untuk menyesuaikan pengesahan pengguna:

  1. Buat Pengawal Masuk dan Pengawal RegisterController

Kita perlu mencipta kawalan Log Masuk dan Pengawal Daftar dalam apl/Http/Pengawal/Auth pengawal direktori, kodnya adalah seperti berikut:

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('/');
    }
}

Dalam pengawal tersuai, kaedah pengesah digunakan untuk mengesahkan kesahihan data input pengguna dan mengendalikan ralat semasa proses log masuk atau pendaftaran.

  1. Ubah suai laluan

Ubah suai laluan asal kepada kod berikut:

Route::get('/login', 'LoginController@showLoginForm')->name('login');
Route::post('/login', 'LoginController@login');
Route::get('/register', 'RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'RegisterController@register');

Dengan cara ini, kod itu diubah suai mengikut kod kami sendiri keperluan Dan tulis, log masuk dan daftar fungsi di atasnya.

6. Ringkasan

Artikel ini memperincikan langkah menggunakan Laravel untuk melaksanakan log masuk dan pendaftaran pengguna, termasuk mencipta model pengguna dan jadual data, menggunakan pakej laravel/ui untuk mencipta pengesahan pengguna lalai sistem, dan menyediakan penghalaan dan pengesahan pengguna tersuai. Sama ada versi asas atau versi tersuai, menggunakan Laravel adalah sangat mudah, dan kecekapan pembangunan juga telah dipertingkatkan. Jika anda seorang pembangun PHP, anda juga boleh mencuba Laravel.

Atas ialah kandungan terperinci Contoh untuk menerangkan cara Laravel melaksanakan fungsi log masuk dan pendaftaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn