ホームページ  >  記事  >  バックエンド開発  >  CakePHP フォーム処理

CakePHP フォーム処理

WBOY
WBOYオリジナル
2024-09-10 17:26:25213ブラウズ

CakePHP は、HTML フォームを簡単かつ安全に処理するためのさまざまな組み込みタグを提供します。他の多くの PHP フレームワークと同様に、HTML の主要な要素も CakePHP を使用して生成されます。以下は、HTML 要素の生成に使用されるさまざまな関数です。

次の関数は、選択オプションを生成するために使用されます

構文 _selectOptions( 配列 $elementsarray(), 配列 $parentsarray(), ブール値 $showParentsnull, 配列 $attributesarray() ) パラメータ
  • Syntax _selectOptions( array $elementsarray(), array $parentsarray(), boolean $showParentsnull, array $attributesarray() )
    Parameters
    • Elements to format

    • Parents for OPTGROUP

    • Whether to show parents

    • HTML attributes

    Returns array
    Description Returns an array of formatted OPTION/OPTGROUP elements
    書式設定する要素
  • OPTGROUP の親

  • 親を表示するかどうか
  • HTML 属性
    Syntax select( string $fieldName, array $options array(), array $attributes array() )
    Parameters

    Name attribute of the SELECT

    Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element.

    Returns Formatted SELECT element.
    Description Returns a formatted SELECT element.
返品 配列 説明 フォーマットされた OPTION/OPTGROUP 要素の配列を返します

次の関数は HTML 選択要素を生成するために使用されます。

構文 select( string $fieldName, array $options array(), array $attributes array() ) パラメータ
Syntax

Button(string $title, array $optionsarray() )

Parameters
  • The button's caption. Not automatically HTML encoded.

  • Array of options and HTML attributes

Returns HTML button tag.
Description

Creates a tag. The type attribute defaults to type="submit". You can change it to a different value by using $options['type'].

SELECT の Name 属性

SELECT 要素で使用される OPTION 要素の配列 ('value'=>'Text' ペアとして)。

返品 フォーマットされた SELECT 要素。 説明 フォーマットされた SELECT 要素を返します。 次の関数は
HTML ページにボタンを生成するために使用されます
Syntax Checkbox(string $fieldName, array $optionsarray() )
Parameters
  • Name of a field, like this "Modelname.fieldname"

  • Array of HTML attributes. Possible options are value, checked, hiddenField, disabled, default.

Returns An HTML text input element.
Description Creates a checkbox input widget.

構文 ボタン(string $title, array $optionsarray() ) パラメータ
  • ボタンのキャプション。自動的に HTML エンコードされません。
  • Syntax create( mixed $modelnull , array $optionsarray() )
    Parameters
    • The model name for which the form is being defined. Should include the plugin name for plugin models. e.g. ContactManager.Contact. If an array is passed and $options argument is empty, the array will be used as options. If false, no model is used.

    • An array of html attributes and options. Possible options are type, action, url, default, onsubmit, inputDefaults, encoding.

    Returns

    A formatted opening FORM tag.

    Description Returns an HTML FORM element.
    オプションと HTML 属性の配列
返品 HTML ボタン タグ。 説明

タグを作成します。 type 属性のデフォルトは

type="submit"
です。
Syntax

file(string $fieldName, array $optionsarray() )

Parameters
  • Name of a field, in the form "Modelname.fieldname"

  • Array of HTML attributes.

Returns

A generated file input.

Description

Creates file input widget.

$options['type'].
を使用して、別の値に変更できます。 次の関数は HTML ページにチェックボックスを生成するために使用されます。 構文 チェックボックス(string $fieldName, array $optionsarray() ) パラメータ
  • 「Modelname.fieldname」などのフィールドの名前
  • HTML 属性の配列。可能なオプションは、value、checked、hiddenField、disabled、default です。
返品 HTML テキスト入力要素。 説明 チェックボックス入力ウィジェットを作成します。 次の関数は、HTML ページにフォームを作成するために使用されます。 構文 create( 混合 $modelnull , 配列 $optionsarray() ) パラメータ
  • フォームが定義されているモデル名。プラグイン モデルのプラグイン名を含める必要があります。例えば連絡先マネージャー。連絡先。配列が渡され、$options 引数が空の場合、配列はオプションとして使用されます。 false の場合、モデルは使用されません。
  • HTML 属性とオプションの配列。可能なオプションは、type、action、url、default、onsubmit、inputDefaults、encoding です。
返品 フォーマットされた FORM 開始タグ。 説明 HTML FORM 要素を返します。 次の関数は、HTML ページに ファイルのアップロード機能を提供するために使用されます。 構文 ファイル(string $fieldName, array $optionsarray() ) パラメータ
  • 「Modelname.fieldname」形式のフィールド名
  • HTML 属性の配列
返品 生成されたファイル入力。 説明 ファイル入力ウィジェットを作成します。 テーブル>

次の関数は、HTML ページに 隠し要素 を作成するために使用されます。

構文
Syntax

hidden( string $fieldName , array $optionsarray() )

Parameters
  • Name of a field, in the form of "Modelname.fieldname"

  • Array of HTML attributes.

Returns

A generated hidden input

Description

Creates a hidden input field

hidden( string $fieldName , array $optionsarray() ) パラメータ
  • 「Modelname.fieldname」の形式のフィールド名

  • HTML 属性の配列
返品
生成された非表示の入力
Syntax

Input(string $fieldName , array $options array() )

Parameters
  • This should be "Modelname.fieldname"

  • Each type of input takes different options

Returns

Completed form widget

Description

Generates a form input element complete with label and wrapper div

説明 非表示の入力フィールドを作成します

次の関数は、HTML ページに 入力要素
を生成するために使用されます。
Syntax

Radio(string $fieldName , array $optionsarray() , array $attributesarray() )

Parameters
  • Name of a field, like this "Modelname.fieldname"

  • Radio button options array.

  • Array of HTML attributes, and special attributes above.

Returns Completed radio widget set
Description Creates a set of radio widgets. Will create a legend and fieldset by default. Use $options to control this.
構文

Input(string $fieldName , array $options array() )

パラメータ
  • これは「モデル名.フィールド名」である必要があります
  • 入力の種類ごとに異なるオプションが使用されます
    Syntax Submit(string $caption null, array $options array() )
    Parameters
    • The label appearing on the button OR if string contains :// or the extension .jpg, .jpe, .jpeg, .gif, .png. Use an image if the extension exists, AND the first character is /, image is relative to webroot, OR if the first character is not /, image is relative to webroot/img.

    • Array of options. Possible options are div, before, after, type etc.

    Returns

    An HTML submit button

    Description Creates a submit button element. This method will generate elements that can be used to submit, and reset forms by using $options. Image submits can be created by supplying an image path for $caption.
返品 完成したフォーム ウィジェット

説明 ラベルとラッパー div を備えたフォーム入力要素を生成します
次の関数は、HTML ページに
Syntax

Textarea(string $fieldName , array $options array() )

Parameters
  • Name of a field, in the form "Modelname.fieldname"

  • Array of HTML attributes, special option like escape

Returns A generated HTML text input element
Description Creates a textarea widget
ラジオ ボタン
を生成するために使用されます。

構文

Radio(string $fieldName , array $optionsarray() , array $attributesarray() )た、>

パラメータ
  • 「Modelname.fieldname」などのフィールドの名前
  • ラジオ ボタン オプションの配列。

  • HTML 属性の配列、および上記の特殊な属性。
返品 完成したラジオ ウィジェット セット 説明 ラジオ ウィジェットのセットを作成します。デフォルトで凡例とフィールドセットが作成されます。これを制御するには $options を使用します。
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('register',['controller'=>'Registrations','action'=>'index']);
   $builder->fallbacks();
});

次の関数は、HTML ページに 送信 ボタンを生成するために使用されます。

構文 Submit(string $caption null, array $options array() ) パラメータ
  • ボタンに表示されるラベル、または文字列に :// または拡張子 .jpg、.jpe、.jpeg、.gif、.png が含まれる場合。拡張子が存在し、かつ最初の文字が / であり、画像が webroot を基準とする場合、または最初の文字が / ではなく、画像が webroot/img を基準とする場合は、画像を使用します。
  • オプションの配列。可能なオプションは、div、before、after、type などです。

返品 HTML 送信ボタン 説明 送信ボタン要素を作成します。このメソッドは を生成します。 $options を使用してフォームを送信およびリセットするために使用できる要素。 $caption に画像パスを指定することで、画像送信を作成できます。
<?php namespace App\Controller;
   use App\Controller\AppController;
   class RegistrationsController extends AppController{
      public function index(){
         $country = array('India','United State of America','United Kingdom');
         $this->set('country',$country);
         $gender = array('Male','Female');
         $this->set('gender',$gender);
      }
   }
?>
次の関数は

HTML ページ上に textarea 要素を生成するために使用されます。 構文 Textarea(string $fieldName , array $options array() ) パラメータ

  • 「Modelname.fieldname」形式のフィールド名
  • HTML 属性の配列、エスケープなどの特別なオプション
返品 生成された HTML テキスト入力要素 説明 テキストエリア ウィジェットを作成します

次のコードに示すように、
<?php echo $this->Form->create(NULL,array('url'=>'/register'));
   echo '<label for="country">Country</label>';
   echo $this->Form->select('country',$country);
   echo '<label for="gender">Gender</label>';
   echo $this->Form->radio('gender ',$gender);
   echo '<label for="address">Address</label>';
   echo $this->Form->textarea('address');
   echo $this->Form->file('profilepic');
   echo '<div>'.$this->Form->checkbox('terms').
      '<label for="country">Terms &mp; CakePHP フォーム処理s</label>
</div>';
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>
config/routes.php

ファイルを変更します。

config/routes.php

CakePHP フォーム処理 に RegistrationsController.php ファイルを作成します。 src/Controller/RegistrationsController.php. 次のコードをコントローラー ファイルにコピーします。 src/Controller/RegistrationsController.php src/Template にディレクトリ Registrations を作成し、そのディレクトリの下に index.php. という名前の View ファイルを作成します。そのファイル内の次のコード。 src/Template/Registrations/index.php 次の URL にアクセスして、上記の例を実行します- http://localhost/cakephp4/register 出力 実行すると、次の出力が表示されます。

以上がCakePHP フォーム処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:CakePHP のロギング次の記事:CakePHP のロギング

関連記事

続きを見る