Maison > Article > développement back-end > Formulaire CakePHP
CakePHP est un outil open source utilisé pour gérer la programmation dynamique ; il fournit au développeur les différents types de balises intégrées pour gérer les formulaires HTML. Le formulaire est l'une des balises fournies par CakePHP pour gérer les formulaires HTML avec fiabilité ou nous pouvons dire qu'il est facilement et en toute sécurité identique aux autres frameworks PHP. Le seul avantage est que nous pouvons générer différents éléments HTML en utilisant CakePHP. Dans CakePHP, nous pouvons facilement créer des formulaires selon nos besoins avec toutes les validations requises, différentes mises en page en utilisant des balises et des méthodes intégrées.
PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
La structure contient de solides enregistrements de bibliothèque de structure pour exécuter les différentes activités dans CakePHP. Le formulaire se concentre sur la création efficace de la structure de cette manière, afin que l'approbation, le repeuplement et la configuration puissent être rationalisés. Dans Form, il existe différentes étiquettes de structure que nous utiliserons pour créer une structure au format organisateur. En outre, le formulaire est flexible, ce qui implique qu'il fera presque tout ce que vous devez montrer dans la structure en utilisant la bonne ponctuation et la bonne stratégie pour obtenir un résultat particulier. Une ligne de code est plus que suffisante que le code HTML puisque nous devons composer un code gigantesque pour créer la structure, cependant, dans Form, nous devons composer une grammaire simple pour la structure.
Voyons maintenant comment créer un formulaire dans CakePHP avec les exemples suivants. Tout d’abord, nous devons créer un formulaire : normalement, nous savons que lorsque nous utilisons une classe de formulaire, nous devons également définir la sous-classe.
Par exemple :
namespace App\Form; use Cake\Form\Form; use Cake\Form\Schema; use Cake\Validation\Validator; class sampleForm extends Form { protected function buildSchema(Schema $schema): Schema { return $schema->addField('Emp Name', 'string') ->addField('Emp Email', ['type' => 'string']) ->addField('Emp Address', ['type' => 'text']); } public function validationDefault(Validator $valid): Validator { $valid->minLength('Emp Name', 20) ->Emp Email('email'); return $valid; } protected function _run(array $data): bool { // Send an email. return true; } }
Explication
Dans l'exemple ci-dessus, nous utilisons trois méthodes différentes : buildSchema, defaultvalidation et exécutons comme indiqué.
Maintenant, après cela, nous devons écrire le code pour traiter les données de demande à l'intérieur du contrôleur comme suit.
namespace App\Controller; use App\Controller\AppController; use App\Form\ sampleForm; class SampleController extends AppController { public function index() { $sample= new sampleForm (); if ($this->request->is('post')) { if ($sample->execute($this->request->getData())) { $this->Flash->success( ‘Welcome Done’); } else { $this->Flash->error('There is Problem'); } } $this->set('sample', $sample); } }
Après cela, nous devons définir les valeurs du formulaire et enfin, nous devons créer le HTML avec le formulaire selon nos besoins.
Voyons maintenant un exemple pour une meilleure compréhension comme suit.
Tout d'abord, nous devons configurer routes.php comme suit.
<?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'=>'ContactForm','action'=>'index']); $builder->fallbacks(); });
Maintenant, nous devons créer un fichier de contrôleur similaire au code ci-dessus, alors créez un fichier de contrôleur et écrivez le code suivant.
<?php namespace App\Controller; use App\Controller\AppController; class ContactFormController extends AppController{ public function index(){ $country = array('India',England',Canada'); $this->set('country',$country); $gender = array('Male','Female'); $this->set('gender',$gender); } } ?>
Explication
Dans le code ci-dessus, nous écrivons le code pour les informations de contact telles que le pays et le sexe. Créez maintenant un fichier d'index et écrivez le code suivant.
<?php echo $this->Form->create(NULL,array('url'=>'/sampleForm')); echo '<label for="name">Name</label>'; 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->text ('address'); echo $this->Form->button('Submit'); echo $this->Form->end(); ?>
Après l'exécution du code ci-dessus, nous obtiendrons l'écran suivant, comme indiqué dans la capture d'écran suivante.
Supposons que nous sélectionnions un pays comme l'Inde, comme indiqué dans la capture d'écran suivante.
Entrez maintenant quelques informations telles que le nom et l'adresse, comme indiqué dans la capture d'écran suivante.
Cliquez maintenant sur le bouton Soumettre et nous recevons un message de bienvenue.
Voyons maintenant les fonctions de formulaire dans CakePHP comme suit.
SélectionnezOption
Il est utilisé pour renvoyer l'élément du tableau.
Syntaxe
selectOptions( array $specifiedarrayelement(), array $parentsarrayelement(), boolean $showParentsnull, array $attributesarray() )
Explication
Dans la syntaxe ci-dessus, nous utilisons la fonction selectOption avec différents paramètres tels que le format d'un élément, le groupe d'éléments parent et différents attributs HTML. Fondamentalement, il renvoie le tableau.
Sélectionner
Il est utilisé pour sélectionner des éléments formatés.
Syntaxe
select( string $Specified Name field, array $required options of array(), array $specified attributes array() )
Explication
Dans la syntaxe ci-dessus, nous utilisons la sélection pour fonctionner avec différents paramètres, le champ de nom spécifié est utilisé pour sélectionner l'attribut de nom, le tableau est également utilisé pour sélectionner l'élément et il renvoie l'élément sélectionné.
Bouton
Il est utilisé pour créer un bouton avec un type.
Syntaxe
Button(string $specified name, array $optionsarray() )
Explication
L’inscription du bouton. Pas naturellement codé en HTML. Un groupe de choix et HTML attribue et renvoie la balise bouton.
case à cocher
En utilisant cette fonction, nous créons une case à cocher à l'intérieur du formulaire selon nos besoins.
Syntaxe
Checkbox(string $Specifed name field, array $optionsarray() )
Explication
In the above syntax, we use a checkbox function with different parameters such as name and array attributes. It returns the text input element.
Create
It is used to return the returned form element.
Syntax
create( mixed $nullmodel value , array $array() )
Explanation
Here we need to specify the name of the model and the array of specified HTML attributes.
File
By using this function, we can create the file and return the generated file.
Hidden
It is used to create the hidden file and returns the generated hidden input.
Input
It is used to create input elements and return the form widget.
Radio
It is used to create a set of radio buttons and returns the radio widget.
Submit
It is used to create a submit button element and it returns the HTML submit.
Here we can set the default value for form by using setData() method as per our requirement as shown in the following code.
namespace App\Controller; use App\Controller\AppController; use App\Form\ContactForm; class SampleController extends AppController public function index() { $sample = new SampleForm(); if ($this->request->is('post')) { if ($contact->execute($this->request->getData())) { $this->Flash->success(' Welcome Done '); } else { $this->Flash->error('There is Problem'); } } if ($this->request->is('get')) { $contact->setData([ 'Emp of name' => 'sam', Emp'email' => [email protected]' ]); } $this->set('sample', $sample); } }
We hope from this article you learn more about the CakePHP form. From the above article, we have taken in the essential idea of the CakePHP form and we also see the representation and example of the CakePHP form. From this article, we learned how and when we use the CakePHP form.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!