Heim > Artikel > PHP-Framework > Beispiele zur Erläuterung, wie Laravel Anmelde- und Registrierungsfunktionen implementiert
Laravel ist ein sehr beliebtes PHP-Framework. Es zeichnet sich durch Einfachheit, Benutzerfreundlichkeit, Effizienz, Stabilität, Sicherheit und Zuverlässigkeit aus und wird häufig bei der Entwicklung von Webanwendungen verwendet. Bei der Entwicklung von Webanwendungen sind Anmelde- und Registrierungsfunktionen unerlässlich. Wie kann man also mit Laravel Anmelde- und Registrierungsfunktionen implementieren? In diesem Artikel wird es Ihnen ausführlich vorgestellt.
1. Installieren Sie Laravel
Bevor Sie Laravel zum Entwickeln verwenden, müssen Sie es zuerst über Composer installieren. Verwenden Sie dazu den folgenden Befehl:
composer create-project --prefer-dist laravel/laravel project_name
Geben Sie nach Abschluss der Installation das Verzeichnis ein, in dem sich das Projekt befindet, und führen Sie den folgenden Befehl aus, um den Laravel-Dienst zu starten:
php artisan serve
2. Erstellen Sie Benutzermodelle und Datentabellen #🎜🎜 #
In Laravel können Sie Eloquent ORM problemlos zur Abwicklung von Datenbankoperationen verwenden. Wir müssen ein Benutzermodell und eine Datentabelle erstellen.php artisan make:model User
Eine User.php-Datei wird im App-Verzeichnis generiert, das das Benutzermodell darstellt. Laravel setzt den Tabellennamen standardmäßig auf den Plural des Modells, daher müssen wir den Tabellennamen im Benutzermodell wie folgt festlegen:
class User extends Model { protected $table = 'users'; }
2 Benutzerdatentabelle erstellen
# 🎜🎜# Erstellen Sie die Benutzertabelle in der Datenbank und führen Sie den folgenden Befehl aus, um eine Migration zu erstellen:php artisan make:migration create_users_table --create=usersEine Migrationsdatei wird im Verzeichnis „database/migrations“ generiert, wie unten gezeigt:
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'); } }Führen Sie den folgenden Befehl aus. Sie können eine Datentabelle generieren:
php artisan migrate3. Verwenden Sie das Laravel/UI-Paket, um die Benutzerauthentifizierung zu erstellen. Laravel stellt ein Laravel/UI bereit Paket, mit dem ein Benutzerauthentifizierungssystem erstellt werden kann. Verwenden Sie zunächst den folgenden Befehl, um das Laravel/UI-Paket zu installieren:
composer require laravel/uiFühren Sie nach Abschluss der Installation den folgenden Befehl aus, um ein Benutzerauthentifizierungssystem zu erstellen:
php artisan ui vue --authDie Funktion Dieser Befehl dient zum Erstellen der Standard-Anmelde- und Registrierungsansichten des js-Front-End-Frameworks. Nach Abschluss der Ausführung werden Sie feststellen, dass sich im Verzeichnis resources/views ein Auth-Ordner befindet, der die beiden Ansichtsdateien auth/login.blade.php und auth/register.blade.php enthält. 4. Routing festlegen In Laravel ist Routing ein Mechanismus, der URLs an Controller-Methoden bindet. Wir müssen das Routing einrichten, damit wir auf die Anmelde- und Registrierungsseiten zugreifen können. Fügen Sie in der Datei „routes/web.php“ die folgende Routendefinition hinzu:
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');Diese Routen rufen die Methoden in Laravels Standard-AuthLoginController bzw. AuthRegisterController auf. 5. Angepasste Benutzerauthentifizierung In praktischen Anwendungen müssen wir die Benutzerauthentifizierung häufig an die Geschäftsanforderungen anpassen. Im Folgenden sind die Schritte zum Anpassen der Benutzerauthentifizierung aufgeführt:
LoginController- und RegisterController-Controller erstellen
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('/'); } }
Route ändern
Route::get('/login', 'LoginController@showLoginForm')->name('login'); Route::post('/login', 'LoginController@login'); Route::get('/register', 'RegisterController@showRegistrationForm')->name('register'); Route::post('/register', 'RegisterController@register');
Das obige ist der detaillierte Inhalt vonBeispiele zur Erläuterung, wie Laravel Anmelde- und Registrierungsfunktionen implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!