ホームページ >バックエンド開発 >PHPチュートリアル >Yii はフォームを使用します
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 チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜