Heim  >  Artikel  >  Backend-Entwicklung  >  Handhabung von CakePHP-Formularen

Handhabung von CakePHP-Formularen

WBOY
WBOYOriginal
2024-09-10 17:26:25216Durchsuche

CakePHP bietet verschiedene integrierte Tags, um HTML-Formulare einfach und sicher zu verarbeiten. Wie bei vielen anderen PHP-Frameworks werden auch wichtige HTML-Elemente mit CakePHP generiert. Im Folgenden sind die verschiedenen Funktionen aufgeführt, die zum Generieren von HTML-Elementen verwendet werden.

Die folgenden Funktionen werden verwendet, um Auswahloptionen zu generieren

Syntax _selectOptions( array $elementsarray(), array $parentsarray(), boolean $showParentsnull, array $attributesarray() )
Parameter
  • 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
    Elemente zum Formatieren
  • Eltern für OPTGROUP

  • Ob Eltern angezeigt werden sollen
  • HTML-Attribute
    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.
Returns Array
Beschreibung Gibt ein Array formatierter OPTION/OPTGROUP-Elemente zurück

Die folgenden Funktionen werden verwendet um ein HTML-Auswahlelement zu generieren.

Syntax select( string $fieldName, array $options array(), array $attributes array() )
Parameter
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'].

Namensattribut von SELECT

Array der OPTION-Elemente (als 'Wert'=>'Text'-Paare), die im SELECT-Element verwendet werden sollen.

Returns Formatiertes SELECT-Element.
Beschreibung Gibt ein formatiertes SELECT-Element zurück.
Die folgenden Funktionen werden
zum Generieren einer Schaltfläche
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.
auf einer HTML-Seite verwendet.

Syntax Button(string $title, array $optionsarray() )
Parameter
  • Die Beschriftung der Schaltfläche. Nicht automatisch HTML-kodiert.
  • 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.
    Array von Optionen und HTML-Attributen
Returns HTML-Schaltflächen-Tag.
Beschreibung

Erstellt ein -Tag. Das Typattribut ist standardmäßig

type="submit"
. Sie können ihn in einen anderen Wert ändern, indem Sie
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'] verwenden.
Die folgenden Funktionen werden zum Generieren eines Kontrollkästchens auf einer HTML-Seite verwendet.
Syntax Checkbox(string $fieldName, array $optionsarray() )
Parameter
  • Name eines Feldes, etwa „Modelname.fieldname“
  • Array von HTML-Attributen. Mögliche Optionen sind Wert, aktiviert, verstecktes Feld, deaktiviert, Standard.
Returns Ein HTML-Texteingabeelement.
Beschreibung Erstellt ein Kontrollkästchen-Eingabe-Widget.
Die folgenden Funktionen werden zum Erstellen eines Formulars auf einer HTML-Seite verwendet.
Syntax create( gemischt $modelnull , Array $optionsarray() )
Parameter
  • Der Modellname, für den das Formular definiert wird. Sollte den Plugin-Namen für Plugin-Modelle enthalten. z.B. ContactManager.Kontakt. Wenn ein Array übergeben wird und das Argument $options leer ist, wird das Array als Optionen verwendet. Bei false wird kein Modell verwendet.
  • Ein Array von HTML-Attributen und -Optionen. Mögliche Optionen sind Typ, Aktion, URL, Standard, onsubmit, inputDefaults, Kodierung.
Returns Ein formatiertes öffnendes FORM-Tag.
Beschreibung Gibt ein HTML-FORM-Element zurück.
Die folgenden Funktionen werden verwendet, um Funktionalität zum Hochladen von Dateien bereitzustellen auf einer HTML-Seite.
Syntax file(string $fieldName, array $optionsarray() )
Parameter
  • Name eines Feldes, in der Form „Modellname.Feldname“
  • Array von HTML-Attributen.
Returns Eine generierte Dateieingabe.
Beschreibung Erstellt ein Dateieingabe-Widget.

Die folgenden Funktionen werden verwendet, um verstecktes Element auf einer HTML-Seite zu erstellen.

Syntax
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() )
Parameter
  • Name eines Feldes, in der Form „Modelname.fieldname“

  • Array von HTML-Attributen.
Returns
Eine generierte versteckte Eingabe
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

Beschreibung Erstellt ein verstecktes Eingabefeld

Die folgenden Funktionen werden verwendet, um Eingabeelement
auf einer HTML-Seite zu generieren.
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.
Syntax

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

Parameter
  • Dies sollte „Modelname.fieldname“ sein
  • Jede Eingabeart erfordert unterschiedliche Optionen
    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.
Returns Widget „Ausgefülltes Formular“

Beschreibung Erzeugt ein Formulareingabeelement komplett mit Label und Wrapper-Div
Die folgenden Funktionen werden verwendet, um
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-Buttons
auf einer HTML-Seite zu generieren.

Syntax

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

Parameter
  • Name eines Feldes, etwa „Modelname.fieldname“
  • Optionsfeld für Optionsfelder.

  • Array von HTML-Attributen und speziellen Attributen oben.
Returns Fertiggestellter Radio-Widget-Satz
Beschreibung Erstellt eine Reihe von Radio-Widgets. Erstellt standardmäßig eine Legende und einen Feldsatz. Verwenden Sie $options, um dies zu steuern.
<?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();
});

Die folgenden Funktionen werden verwendet, um die Schaltfläche Senden auf der HTML-Seite zu generieren.

angegeben wird
Syntax Submit(string $caption null, array $options array() )
Parameter
  • Die auf der Schaltfläche angezeigte Beschriftung ODER wenn die Zeichenfolge :// oder die Erweiterung .jpg, .jpe, .jpeg, .gif, .png enthält. Verwenden Sie ein Bild, wenn die Erweiterung vorhanden ist UND das erste Zeichen / ist, das Bild relativ zu Webroot ist, ODER wenn das erste Zeichen nicht / ist, das Bild relativ zu Webroot/img ist.
  • Array von Optionen. Mögliche Optionen sind div, before, after, type usw.

Returns Eine HTML-Senden-Schaltfläche
Beschreibung Erstellt ein Submit-Button-Element. Diese Methode generiert Elemente, die zum Senden und Zurücksetzen von Formularen mithilfe von $options verwendet werden können. Bildübermittlungen können erstellt werden, indem ein Bildpfad für $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);
      }
   }
?>
Die folgenden Funktionen werden

zum Generieren eines Textbereichselements auf einer HTML-Seite verwendet.

Syntax Textarea(string $fieldName , array $options array() )
Parameter
  • Name eines Feldes, in der Form „Modellname.Feldname“
  • Array von HTML-Attributen, spezielle Option wie Escape
Returns Ein generiertes HTML-Texteingabeelement
Beschreibung Erstellt ein Textbereichs-Widget

Beispiel

Nehmen Sie Änderungen in der Datei
<?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; Handhabung von CakePHP-Formularens</label>
</div>';
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>
config/routes.php

vor, wie im folgenden Code gezeigt.

config/routes.php

Erstellen Sie eine Handhabung von CakePHP-FormularenRegistrationsController.php-Datei unter src/Controller/RegistrationsController.php. Kopieren Sie den folgenden Code in die Controller-Datei. src/Controller/RegistrationsController.php Erstellen Sie ein Verzeichnis Registrations unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen index.php. Kopieren den folgenden Code in dieser Datei. src/Template/Registrations/index.php Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen: http://localhost/cakephp4/register Ausgabe Bei der Ausführung erhalten Sie die folgende Ausgabe.

Das obige ist der detaillierte Inhalt vonHandhabung von CakePHP-Formularen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:CakePHP-ProtokollierungNächster Artikel:CakePHP-Protokollierung