ホームページ >PHPフレームワーク >Laravel >laravel_admin登録関数の実装方法

laravel_admin登録関数の実装方法

PHPz
PHPzオリジナル
2023-04-12 09:12:40626ブラウズ

Laravel_admin は、フロントエンドとバックエンドを分離するバックグラウンド管理システムです。 Laravel_admin に登録機能を実装するには、フロントエンドのページ設計とバックエンドのロジック作成の 2 つの側面が必要です。この記事では、これら 2 つの側面の実装プロセスをそれぞれ紹介します。

1. フロントエンドインターフェイスの実装

Laravel_admin に登録機能を実装するには、ユーザーが関連情報を入力して送信できるフロントエンド ページを設計する必要があります。まず、登録ページの HTML コードを配置するために、ビュー レイヤーに register.blade.php ファイルを作成します。コードは次のとおりです。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Register page</title>
</head>
<body>
    <form method="post" action="{{ route(&#39;register&#39;) }}">
        {{ csrf_field() }}
        <label for="name">Username:</label>
        <input type="text" name="name" id="name"><br>
        <label for="email">Email:</label>
        <input type="email" name="email" id="email"><br>
        <label for="password">Password:</label>
        <input type="password" name="password" id="password"><br>
        <label for="password_confirmation">Confirm Password:</label>
        <input type="password" name="password_confirmation" id="password_confirmation"><br>
        <button type="submit">Submit</button>
    </form>
</body>

上記のコードは、基本的な登録フォームです。ユーザー名、電子メール、パスワード、パスワード確認などのフィールドがフォームに提供され、フォームが送信されるルートは、Laravel_admin が提供するルート関数を通じて指定されます。同時に、データのセキュリティを確保するために、Laravel_admin が提供する csrf_field 関数をフォームで使用して、非表示の _token フォームフィールドを生成します。

2. バックエンド ロジックの作成

フロントエンド ページの設計が完了したら、コントローラーの書き込みを伴うバックエンド ロジック プログラムを作成する必要があります。 Laravel_admin では、コントローラークラスは通常 app/Http/Controllers ディレクトリに保存されます。

コントローラー ファイルでは、showRegistrationForm と register という 2 つのメソッドを実装する必要があります。

  1. showRegistrationForm メソッド

このメソッドは登録フォーム ページをレンダリングするために使用されます。コードは次のとおりです:

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

このメソッドは単にビューを返します。 template。テンプレート名は auth.register です。このテンプレート名に対応するビュー テンプレートは、前に定義した register.blade.php ファイルです。

  1. 登録メソッド

このメソッドは、フォームによって送信されたデータを処理し、データベースにデータを保存するために使用されます。コードは次のとおりです:

public function register(Request $request)
{
    $validator = Validator::make($request->all(), [
        'name' => 'required|string|max:255|unique:users',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
    ]);

    if ($validator->fails()) {
        return redirect('register')
                    ->withErrors($validator)
                    ->withInput();
    }

    $this->create($request->all());

    return redirect('login');
}

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

このメソッドでは、まず Laravel_admin の組み込みバリデーター Validator を使用して送信されたデータを検証し、ユーザー名やメールアドレスが重複していないことを確認します。検証が失敗した場合、エラー メッセージとユーザーが送信したフォーム データ (withInput()) がフロントエンド ページに返され、ユーザーにエラー メッセージが表示され、ユーザーの変更を容易にするためにフォーム データが埋め戻されます。

検証が成功すると、create メソッドが呼び出され、ユーザー情報がデータベースに保存されます。 createメソッドでは、laravelの組み込みUserモデルクラスのcreateメソッドを呼び出し、ユーザー名、メールアドレス、パスワードなどのフィールドをデータベースに保存します。データのセキュリティを確保するために、パスワードは bcrypt メソッドで暗号化する必要があることに注意してください。

最後に、論理処理が完了すると、ユーザーはログイン ページにリダイレクトされ、登録プロセスが完了したことを確認します。

3. ルーティング設定

上記の実装プロセスに加えて、登録ページと登録フォームの送信処理に対応する 2 つのルートをルーティング ファイルに追加する必要もあります。次のコードを Routes/web.php に追加します。

Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

上記のコードは、showRegistrationForm と register の 2 つのメソッドに対応します。このうち、get メソッドは登録ページへのリクエストを処理し、post メソッドは登録フォームによって送信されたリクエストを処理します。

これで、Laravel_admin への登録機能の実装が完了しました。プロセス全体を通じて、注意が必要な問題は次のとおりです。フロントエンド ページに csrf_field フォーム フィールドが存在する必要があること、フォームによって送信されたデータが register メソッドで検証され、対応する情報が要求される必要があること、ユーザー パスワードを暗号化する必要があることなどです。 createメソッドなど。これらの詳細を適切に処理することによってのみ、登録プロセスの安定性と健全な動作が保証されます。

以上がlaravel_admin登録関数の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。