Phalcon - Lavorare con i moduli

I moduli vengono utilizzati in tutte le applicazioni Web per accettare input dall'utente come richiesta. I dati vengono accettati come input, quindi manipolati e salvati nel database o viene eseguita qualsiasi altra operazione.

Phalcon include un componente denominato Phalcon\Forms che aiuta nella creazione e nel mantenimento delle forme.

Considera l'esempio di Blog-tutorial, che abbiamo creato nei capitoli precedenti. Include un modulo che viene utilizzato per creare una nuova categoria.

<?php echo \Phalcon\Tag::form(array("categories/create", "autocomplete" => "off")) ?>  
   <table width = "100%"> 
      <tr> 
         <td align = "left">
            <?php echo \Phalcon\Tag::linkTo(array("categories", "Go Back", "class" => "btn")) ?>
         </td> 
         <td align = "right"><
            ?php echo \Phalcon\Tag::submitButton(array("Save", "class" => "btn")) ?>
         </td> 
      <tr> 
   </table>  
   
   <?php echo $this->getContent(); ?>  
   
   <div align = "center"> 
      <h1>Create categories</h1> 
   </div>  
   <table align = "center"> 
      <tr> 
         <td align = "right"> 
            <label for = "name">Name</label> 
         </td> 
         <td align = "left"> 
            <?php echo \Phalcon\Tag::textField(array("name", "size" => 30)) ?> 
         </td> 
      </tr> 
     
      <tr> 
         <td align = "right"> 
            <label for = "slug">Slug</label> 
         </td> 
         <td align = "left"> 
            <?php echo \Phalcon\Tag::textField(array("slug", "size" => 30)) ?> 
         </td> 
      </tr> 
   </table> 
</form>

Output - Produrrà il seguente output.

I campi di input del modulo vengono visualizzati con l'aiuto di Phalcon/tagcomponente. Ogni elemento nel modulo può essere reso secondo il requisito dello sviluppatore.

Di seguito è riportata la sintassi per il valore di rendering.

echo $form->render(element-name)

Validation -

Una volta che i valori sono stati visualizzati nel controller, i valori verranno inseriti nel database con l'aiuto dei modelli. I moduli Phalcon sono integrati con il componente di convalida per offrire una convalida immediata. Validatori incorporati o personalizzati possono essere impostati su ogni elemento.

<?php  
use Phalcon\Forms\Element\Text; 
use Phalcon\Validation\Validator\PresenceOf; 
use Phalcon\Validation\Validator\StringLength;  

$name = new Text( 
   "Name" 
); 

$name->addValidator( 
   new PresenceOf([ "message" => "name is required", ]) 
); 

$form->add($name);

Output - Produrrà il seguente output.