ホームページ >バックエンド開発 >PHPチュートリアル >Yii フレームワークを使用してフォームの送信と処理を実装する手順
Yii フレームワークを使用してフォームの送信と処理を実装する手順
はじめに:
Web 開発では、フォームはユーザー インタラクションの非常に一般的な方法です。フォームの送信と処理を実装する方法は、すべての開発者が理解しておく必要がある基本知識です。この記事では、Yii フレームワークを例として使用し、フレームワークを使用してフォームの送信と処理ステップを実装する方法を詳しく説明します。
views
ディレクトリに保存します。このディレクトリに form.php
という名前のファイルを作成し、次のコードを追加します: <?php use yiiwidgetsActiveForm; use yiihelpersHtml; ?> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?> <div class="form-group"> <?= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?>
上記のコードでは、Yii ## コンポーネントによって提供される ActiveForm# を使用します。フォームの生成には
textInput メソッドが使用され、テキスト入力ボックスの生成には
textInput メソッドが使用されます。
$model
次に、フォームの送信を処理するコントローラーを作成する必要があります。
controllers ディレクトリに
FormController.php<?php namespace appcontrollers; use Yii; use appmodelsFormModel; use yiiwebController; class FormController extends Controller { public function actionIndex() { $model = new FormModel(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { // 表单提交后的处理逻辑 // ... return $this->render('success'); } return $this->render('form', [ 'model' => $model, ]); } public function actionSuccess() { return $this->render('success'); } }
上記のコードでは、という名前のファイルを作成しました。これは
FormController のコントローラーであり、2 つのアクション メソッド
actionIndex と
actionSuccess が定義されています。
actionIndex メソッドはフォーム送信の処理に使用され、
actionSuccess メソッドは送信が成功したページを表示するために使用されます。 フォーム データを処理するためのフォーム モデルも作成する必要があります。
models ディレクトリに
FormModel.php<?php namespace appmodels; use yiiaseModel; class FormModel extends Model { public $name; public $email; public function rules() { return [ [['name', 'email'], 'required'], ['email', 'email'], ]; } }
上記のコードでは、という名前のファイルを作成しました。これは
FormModel のモデル クラスであり、その中に
name と
email という 2 つの属性が定義されています。
rules メソッドでは、フォーム データの検証ルールを定義します。 最後に、作成したコントローラーとアクション メソッドに正しくアクセスできるように、Yii フレームワークでルーティング ルールを設定する必要があります。次のコードを
config ディレクトリの
web.php'components' => [ // ... ], 'controllerMap' => [ 'form' => 'appcontrollersFormController', ],
上記のコードでは、
controllerMap で構成します。 この項目は、
form を
appcontrollersFormController コントローラーに関連付けます。 この時点で、Yii フレームワークを使用してフォームの送信と処理を実装する手順が完了しました。ブラウザのアドレス バーに
http://yourdomain.com/form
概要:
以上がYii フレームワークを使用してフォームの送信と処理を実装する手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。