Rumah > Artikel > rangka kerja php > Contoh untuk menerangkan cara Laravel melaksanakan fungsi log masuk dan pendaftaran
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.
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:
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.
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!