1. モデルを作成します
a. 基本クラスを追加します
yii/base/Model を使用しますb. 必要な変数を作成します
e.ルールを定義します
f. [] で囲まれていることに注意してください
例:
<span>php namespace app\models; </span><span>use</span><span> yii\base\Model; </span><span>class</span> EntryForm <span>extends</span><span> Model { </span><span>public</span> <span>$name</span><span>; </span><span>public</span> <span>$email</span><span>; </span><span>public</span> <span>function</span><span> rules() { </span><span>return</span><span> [ [[</span>'name', 'email'], 'required'],<span> [</span>'email', 'email'],<span> ]; } }</span>
このクラスは、Yii が提供する基本クラス [[yiibaseModel]] を継承しており、通常はデータを表すために使用されます追加: [[yiibaseModel]] は通常のモデルクラスの親クラスとして使用され、データテーブルとは何の関係もありません。 [[yiidbActiveRecord]] は通常、通常のモデル クラスの親クラスですが、データ テーブルに関連しています (翻訳: [[yiidbActiveRecord]] クラスは実際には [[yiibaseModel]] を継承し、データベース処理を追加します)。のメソッドは、データ検証ルールのコレクションを返すために使用されます。上記で宣言された検証ルールは次のことを意味します。
すべての値は必須です
EntryForm
类包含name
和rules()
の値は電子メールルールの検証を満たす必要があります
りーname
和- ユーザーが送信したデータを処理する
EntryForm
2. オペレーションを作成します次に、新しく作成したモデルを で操作する必要があります。アクションの作成と使用については、「Say hello」セクションで説明しました。
りーオブジェクトが作成されます。次に、ユーザーが送信したデータを
site
控制器中创建一个entry
この操作では、まず$_POST
から収集してみます。これは、Yii の [[yiiwebRequest::post()]] メソッドによって収集されます。モデルにデータが正常に入力された場合 (つまり、ユーザーが HTML フォームを送信した場合)、操作は [[yiibaseModel::validate()|validate()]] を呼び出して、ユーザーが有効なデータを送信したことを確認します。追加: 式
Yii::$app
は、グローバルにアクセス可能なシングルトンであるEntryForm
对象。然后尝试从$_POST
applicationでもあり、インスタンスを表します。同時に、
Yii::$app
代表应用实例,它是一个全局可访问的单例。同时它也是一个服务定位器,能提供request
,response
,db
等等特定功能的组件。在上面的代码里就是使用request
组件来访问应用实例收到的$_POST
サービスロケーターrequest
、response
、db
などの特定の機能をコンポーネントに提供できます。 > など。上記のコードでは、request
コンポーネントを使用して、アプリケーション インスタンスによって受信された$_POST
データにアクセスします。
entry-confirm
的视图去确认用户输入的数据。如果没填表单就提交,或数据包含错误(译者:如 email 格式不对),entry
を避けるために、[[yiiwebController::refresh()|refresh()]] または [[yiiwebController::redirect()|redirect()]] の使用を検討する必要があります。ユーザーがフォームを送信すると、操作によって という名前のビューがレンダリングされ、フォームと検証エラーの詳細とともに出力がレンダリングされます。 注: この簡単な例では、有効なデータを含む確認ページのみを表示します。実際には、フォームの繰り返し送信の問題
3. ビューを作成します
entry-confirm
和entry
。他们会被刚才创建的entry
レンダリングを操作します。
entry-confirm
视图简单地显示提交的 name 和 email 数据。视图文件保存在views/site/entry-confirm.php
最後に2つのビューファイルを作成します。りー
entry
视图显示一个 HTML 表单。视图文件保存在views/site/entry.php
りー
begin()
和end()
このビューは、強力なウィジェット [[yiiwidgetsActiveForm|ActiveForm]] を使用して HTML フォームを生成します。 は、フォームの開始タグと終了タグをそれぞれレンダリングするために使用されます。 [[yiiwidgetsActiveForm::field()|field()]] メソッドは、これら 2 つのメソッドの間で入力ボックスを作成するために使用されます。最初の入力ボックスは「名前」用で、2 番目の入力ボックスは「電子メール」用です。次に、 [[yiihelpersHtml::submitButton()]] メソッドを使用して送信ボタンを生成します。りー
ウィジェットを使用することを忘れないでください。これら 2 つを導入する必要があります
上記は、内容の側面も含めて Yii でのフォームの使用法を紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









