Cara Mudah membuat Form di Symfony


form input dengan symfony
Form contekan dari symfony

Form merupakan element terpenting dari aplikasi web. Gunanya untuk menerima “sesuatu” inputan dari user, sebagai request bagi web server.

Pada HTML kita sudah banyak mengetahui berbagai model inputan, seperti text, password, radio, checkbox, button, file, select-option, textarea, dll.

Kali ini kita akan membuat Form menggunakan symfony. Dalam hal ini kita akan memakai class sfForm yang menyedikan library form untuk symfony.

Kita akan coba membuat tampilan Form mirip seperti contekan yang ada pada tutorial form symfony. Berikut ini element input yang akan kita buat (dengan sedikit modifikasi dari contekan diatas),

  • input nama
  • input jenis kelamin (pria atau wanita)
  • input alamat

Cara membuat Form pada symfony sangat mudah, yaitu dengan 2 tahapan berikut;

  1. Mendeklarasikan class sfForm dan widget yang akan digunakan pada action.class
  2. Tampilkan form yang telah dibuat, pada template action module.

Selain menggunakan class sfForm, sebenarnya kita juga bisa menggunakan cara biasa, yaitu dengan menuliskan script form langsung pada template action module. Namun penggunaan class sfForm nantinya justru akan banyak memberikan kemudahan bagi kita dalam pembuatan form.

Step #1 : action.class

Asumsi kita memiliki module user dengan nama method create. Langkah pertama deklarasikan object dari class sfForm. Kita beri nama object tersebut formuser.

public function executeCreate($request)
{
  $this->formuser = new sfForm();
}

kemudian tambahkan deklarasi widget yang akan dipakai, menggunakan method dari sfForm yang bernama setWidgets. Seperti contekan diatas, kita berarti akan membuat input text, input radio dan input textarea.

public function executeCreate($request)
{
  $this->formuser = new sfForm();
  $this->formuser->setWidgets(array(
      'name' => new sfWidgetFormInputText(),
      'jenis kelamin' => new sfWidgetFormChoice(array(
           'expanded' => true,
           'choices' => array('Pria', 'Wanita'),
           )),
      'alamat' => new sfWidgetFormTextarea(),
    ));
}

Tidak perlu bingung, perhatikan penggunaan array untuk inputan method setWidget. Array tersebut terdiri dari 3 deklarasi class widget untuk input text, input choice (radio) dan input textarea. Untuk penggunaan widget Choice, kita bisa tambahkan value true pada attribute expanded, agar inputan menjadi model radio button.

Step #2 : template action module

Asumsi kita membuat template untuk action.class yang telah dibuat diatas, pada module user dengan nama template createSuccess.php. Lalu tambahkan script berikut,

<?php echo $form->renderFormTag('user/save') ?>
//sama dengan penggunaan <form action="user/save" method="post">

script diatas, sama dengan penggunaan <form> (tag form), digunakan untuk deklarasi tag form. Berikut ini script lengkap nya, untuk menampilkan form (yang telah dibuat di action class) pada template action module.

<?php echo $formuser->renderFormTag('user/save') ?>
  <table>
    <?php echo $formuser ?>
      <tr>
        <td colspan="2">
          <input type="submit" />
        </td>
     </tr>
  </table>
</form>

Untuk memastikan bentuk script HTML dari contoh diatas, Anda bisa klik kanan di browser, kemudian pilih ‘view page source’.

Sampai disini, Anda telah berhasil membuat form symfony dengan teknik paling dasar.

Gampang ngak?? beuuungeeeuud… 🙂

 


One response to “Cara Mudah membuat Form di Symfony”

Leave a Reply

Your email address will not be published. Required fields are marked *