PHP 開発フレームワーク Yii Framework チュートリアル (7) CHtml を使用したフォームの作成

黄舟
リリース: 2023-03-05 07:22:02
オリジナル
1180 人が閲覧しました

Yii アプリケーションで MVC で作られたビューを作成する場合、HTML 言語を直接使用してページビューを直接構築することもできます。また、Yii にはビューの作成を簡素化するためのいくつかのヘルパークラスも用意されています。たとえば、テキスト入力フィールドを作成するには、CHtml::textField(); を呼び出してドロップダウン リストを作成し、CHtml::dropDownList() を呼び出します。前の Hangman の例のいくつかのビューでは、CHtml を使用してビューを作成しました。

情報: プレーン HTML を直接記述するのと同じ量のコードが必要な場合、ヘルプ クラスを使用する利点について疑問に思われるかもしれません。 その答えは、ヘルパー クラスが HTML コードよりも多くの機能を提供できるからです。たとえば、次のコードは、ユーザーが値を変更したときにフォーム送信アクションをトリガーするテキスト入力フィールドを生成します。

CHtml::textField ($name,$value,array('submit'=>''));
ログイン後にコピー

それ以外の場合は、大量の JavaScript を記述する必要があります。

Hangman でのページ再生の定義を思い出してください:

<p>This is the game of Hangman.     
You must guess a word, a letter at a time.     
If you make too many mistakes, you lose the game!</p>     
<?php echo CHtml::beginForm(); ?>     
<?php echo CHtml::radioButtonList(&#39;level&#39;, null, $levels); ?>     
<br/>     
<?php echo CHtml::submitButton(&#39;Play!&#39;); ?>     
<?php if($error): ?>     
<span style="color:red">You must choose a difficulty level!</span>     
<?php endif; ?>
<?php echo CHtml::endForm(); ?>
ログイン後にコピー

PHP 開発フレームワーク Yii Framework チュートリアル (7) CHtml を使用したフォームの作成

CHtml を使用してページを構築する場合は、常に CHtml::beginForm() で始まり CHtml::endForm() で終わります。実際、これら 2 つのメソッドは From タグの開始タグと終了タグを生成します。

ボタン、radioButton、checkbutton、その他の UI コンポーネントなど、HTML フォームでサポートされている UI コンポーネントの場合、CHtml クラスは、上記の radioButtonList や submitButton などの対応するメソッドを提供します。

radioButtonList などに加えて、CHtml は activeRadioButtonList などの activeXXX のセットも提供します。これらのメソッドは、Hangman のような例では別の Model を使用しないため、activeRadioButtonList メソッドと組み合わせて使用​​する必要があります。 MVC は後で Model で導入されます。

CHtml でサポートされているすべての UI コンポーネントについては、Yii クラスのリファレンス ドキュメントを参照してください: http://www.yiiframework.com/doc/api/1.1/CHtml

バージョン 1.1.1 からは、新しい小さなオブジェクト CActiveForm . (http://www.yiiframework.com/doc/api/1.1/CActiveForm) を使用してフォームの作成を簡素化します。 この小さなウィジェットは、クライアント側とサーバー側の両方でシームレスで一貫した検証を提供します。これらは、Yii がサポートする UI コンポーネントにまとめて導入されています。

上記は、PHP 開発フレームワーク Yii Framework チュートリアル (7) CHtml を使用してフォームを作成する内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート