検索

yiiへの登録方法

Dec 16, 2019 am 10:22 AM
yii

yiiへの登録方法

登録

詳細テンプレートで、frontend/index.php?r=site/signup ページに入ると、フレームワークの登録ページが表示されます

yiiへの登録方法

ユーザー名、電子メール、パスワードを入力して [サインアップ] をクリックした後、形式が間違っている場合は、frontend/models/SignuForm の rules() 関数によって予備検証が実行されます。すべての形式が正しいです。データは、frontend/controllers/SiteController の actionSignup() 関数に転送されます。この関数は、ユーザーが入力した登録情報を読み込みます。frontend/models/SignupForm のsignup() 関数です。

以下の引用文は説明機能です 本文中の具体的な内容は読まなくても全体に影響しません 折り込みテキスト機能がないため引用方法を使用しています 以下同様です

if (!$this->validate()) {
  return null;
}

signup() 関数は、最初に yii2/base/Model の validate() 関数を呼び出します。検証
最初のステップは、frontend/models/SignuForm で rules() 関数を使用するときに、ユーザー入力

if ($clearErrors) {
  $this->clearErrors();
}

2 番目のステップでは、beforeValidate() 関数が beforeValidate イベントをトリガーし、true を返します

3 番目のステップでは、シナリオを設定します。デフォルトはデフォルトです

## 4 番目のステップでは、$attributeNames が null であるため、実行後に

$attributeNames = $this->activeAttributes();

が返されます

array (3) { [0]=> string(8) "username" [1]= > string(5) "email" [2]=> string(8) >"password" }


5 番目のステップ $this->getActiveValidators() は 11 を取得します。フロントエンド/モデル/SignuForm の rules() 内の検証ルールを検証のために validateAttributes() に設定します。


6 つのステップ。afterValidate() 関数を実行して afterValidate イベントをトリガーします。


最後に、すべての検証に合格すると、$this->hasErrors() は false になるため、関数は最終的に true を返します


#データ テーブル user

のフィールドを見てみましょう

#ユーザーはユーザー名、パスワード、電子メールを入力しました。Yii2 フレームワークは他のフィールドをどのように生成しますか?まず、password_hash を見てみましょう。SignupFrom のサインアップ関数でのパスワード生成は setPassword 関数です。 setPassword 関数は、yii2/base/Security 内の各ルールのgeneratePasswordHash 関数を呼び出します。 yiiへの登録方法

if (function_exists('password_hash')) {
  /** @noinspection PhpUndefinedConstantInspection */
  return password_hash($password, PASSWORD_DEFAULT, ['cost' => $cost]);
}

ある場合は、password_hash関数を使用して暗号化します。PHPにpassword_hash関数がない場合は、crypt関数を使用して暗号化します。初期判断ではPHP 5.5未満のバージョンと互換性があると判断されます。結局のところ、5.5 以降のバージョンでのみこの機能が使用され始めます。password_hash 関数

common/models/User's signedup() 関数は、パスワードを暗号化した後も認証キーを生成し続けます。認証キーは検証情報です。

認証キーの生成メソッドは、yii2/base/Security のgenerateRandomStringでもあり、generateRandomString は、generateRandomKey 関数を呼び出します。PHP バージョンが 5.2 ~ 5.6 または 7 の場合は、random_bytes を使用してください。 32 ワードのセクション文字列を生成するには、そうでない場合、使用しているシステムが Windows で OpenSSL がインストールされている場合、openssl_random_pseudo_bytes 関数が呼び出されて生成されます。OpenSSL をインストールしていない場合は、mcrypt_create_iv が生成に使用されます。

使用しているシステムが Windows ではない場合は、/dev/urandom を呼び出す必要があります。FreeBSD システムは特殊です。/dev/random を呼び出し、stream_set_read_buffer メソッドを呼び出して、 8 バイトの文字ファイル。生成後、fread 関数でファイル内の 32 バイトを読み取り、データを返します。
password_reset_token は、ユーザーの登録時には空です。ユーザーがパスワードを忘れて、ログイン ページで [リセット] をクリックしたときに生成されます。ユーザーが電子メールの送信後にパスワードをリセットするときの検証に使用されます。


ステータスは common/models/User で定義されます

const STATUS_DELETED = 0;
const STATUS_ACTIVE = 10;

ユーザー登録時のルールのステータスはデフォルトで 10 に設定されます。

created_time と updated_time も common/models/ にありますUser の Behaviors() 関数で生成された

ユーザーのデータは、修飾されていることが検証され、フレームワークによって生成されたデータも加えて、データのユーザー テーブルに保存されます。

推奨学習:

yii フレームワーク

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Yii:Web開発のための強力なフレームワークYii:Web開発のための強力なフレームワークApr 15, 2025 am 12:09 AM

YIIは、迅速な開発と効率的なコード生成のために設計された高性能PHPフレームワークです。そのコア機能には、MVCアーキテクチャ:YIIがMVCアーキテクチャを採用して、開発者がアプリケーションロジックを分離し、コードの維持と拡張を容易にするのを支援します。コンポーネント化とコード生成:コンポーネント化とコード生成を通じて、YIIは開発者の繰り返しの作業を削減し、開発効率を向上させます。パフォーマンスの最適化:YIIは、レイテンシロードとキャッシュテクノロジーを使用して、高負荷の下で効率的な動作を確保し、データベース操作を簡素化する強力なORM機能を提供します。

Yii:迅速な開発フレームワークYii:迅速な開発フレームワークApr 14, 2025 am 12:09 AM

YIIは、PHPに基づいた高性能フレームワークであり、Webアプリケーションの迅速な開発に適しています。 1)MVCアーキテクチャとコンポーネント設計を採用して、開発プロセスを簡素化します。 2)YIIは、ActivereCord、Restfulapiなどの豊富な機能を提供し、高い並行性と拡張をサポートします。 3)GIIツールを使用すると、CRUDコードを迅速に生成し、開発効率を向上させることができます。 4)デバッグ中に、構成ファイルを確認し、デバッグツールを使用してログを表示できます。 5)パフォーマンスの最適化の提案には、キャッシュの使用、データベースクエリの最適化、コードの読み取り可能性の維持が含まれます。

Yiiの現在の状態:その人気を見るYiiの現在の状態:その人気を見るApr 13, 2025 am 12:19 AM

yiiremainspopularbutislessfavoredthanlaravel、with14kgithubstars.itexcelsinperformanceandactiverecord、buthasasteeperndasmallerecosystem.it'sidealfordevelopersprioritizing -avisizing -avastecosystem。

YII:説明された重要な機能と利点YII:説明された重要な機能と利点Apr 12, 2025 am 12:15 AM

YIIは、そのコンポーネントアーキテクチャ、強力なORM、優れたセキュリティでユニークな高性能PHPフレームワークです。 1.コンポーネントベースのアーキテクチャにより、開発者は機能を柔軟に組み立てることができます。 2。強力なORMはデータ操作を簡素化します。 3.アプリケーションセキュリティを確保するための複数のセキュリティ関数を組み込み。

Yiiのアーキテクチャ:MVCなどYiiのアーキテクチャ:MVCなどApr 11, 2025 pm 02:41 PM

YIIフレームワークはMVCアーキテクチャを採用し、コンポーネント、モジュールなどを介して柔軟性とスケーラビリティを向上させます。1)MVCモードは、アプリケーションロジックをモデル、ビュー、コントローラーに分割します。 2)YIIのMVC実装では、アクション改良要求処理を使用します。 3)YIIはモジュール開発をサポートし、コードの組織と管理を改善します。 4)キャッシュとデータベースクエリの最適化を使用して、パフォーマンスを改善します。

YII 2.0ディープダイブ:パフォーマンスチューニングと最適化YII 2.0ディープダイブ:パフォーマンスチューニングと最適化Apr 10, 2025 am 09:43 AM

YII2.0アプリケーションのパフォーマンスを改善するための戦略には、次のものが含まれます。1。Databaseクエリ最適化、QueryBuilderおよびActiverCordを使用して特定のフィールドを選択し、結果セットを制限します。 2。キャッシュ戦略、データの合理的な使用、クエリ、ページキャッシュ。 3。コードレベルの最適化、オブジェクトの作成の削減、効率的なアルゴリズムの使用。これらの方法により、Yii2.0アプリケーションのパフォーマンスを大幅に改善できます。

YII RESTFUL API開発:ベストプラクティスと認証YII RESTFUL API開発:ベストプラクティスと認証Apr 09, 2025 am 12:13 AM

YIIフレームワークでRESTFUL APIを開発することは、次の手順を通じて実現できます。コントローラーの定義:YII \ REST \ ActiveControllerを使用して、USERCONTROLLERなどのリソースコントローラーを定義します。認証の構成:HTTPBearer認証メカニズムを追加して、APIのセキュリティを確保します。ページングとソートを実装する:yii \ data \ Activedataproviderを使用して、複雑なビジネスロジックを処理します。エラー処理:Yii \ web \ errorhandlerを構成して、認証が失敗したときに処理するなど、エラー応答をカスタマイズします。パフォーマンスの最適化:YIIのキャッシュメカニズムを使用して、頻繁にアクセスされるリソースを最適化し、APIパフォーマンスを向上させます。

高度なYIIフレームワーク:マスタリングコンポーネントと拡張機能高度なYIIフレームワーク:マスタリングコンポーネントと拡張機能Apr 08, 2025 am 12:17 AM

YIIフレームワークでは、コンポーネントは再利用可能なオブジェクトであり、拡張機能は作曲家を介して追加されたプラグインです。 1.コンポーネントは、構成ファイルまたはコードを介してインスタンス化され、依存関係噴射コンテナを使用して柔軟性とテスト可能性を向上させます。 2。コンポーザーを通じて管理を拡張して、アプリケーション機能を迅速に強化します。これらのツールを使用すると、開発効率とアプリケーションのパフォーマンスが向上する可能性があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、