Form Kütüphanesi - muhametsafak/phpxi Wiki

Original URL: https://github.com/muhametsafak/phpxi/wiki/Form-Kütüphanesi

Formlar oluşturmak için geliştirilmiş basit bir form kütüphanesidir. Aşağıdaki metotlar görünümler (views) kullanımı tipinde verilmiştir. Kontrolcü (Controller) ve Model dosyalarında $this->form ile erişebilirsiniz.

Form Başlatma

Yeni bir form oluşturmak için form kütüphanesinde start() metodu kullanılır.

public function start(array $options = array()): self

Örnek:

Form::start();

Formun method ve action gibi bilgilerini belirtmek için;

Form::start(array("method" => "POST", "action" => "index.php"));

şeklinde kullanılır.


Label Ekleme

Bir <label> oluşturmak için kullanılır.

public function label(string $for = "", string $text = ""): self

Örnek:

Form::label("label_for", "Label Name");

yukarıdaki kod aşağıdaki html yapısını form içerisine dahil eder;

<label for="label_for">Label Name</label>

Input Ekleme

Bir input html etiketi oluşturmak için input() metodu kullanılabilir.

public function input(array $options = array()): self

Örnek:

Form::input(array("name" => "inputname", "type" => "text", "value" => "İçerik"));

yukarıdaki örnek form içerisine şöyle bir html dahil eder;

<input name="inputname" type="text" value="İçerik" />

Textarea Ekleme

Bir textarea html etiketi oluşturmak için textarea() metodu kullanılabilir.

public function textarea(array $options = array(), string $value = ""): self

Örnek:

Form::textarea(array("name" => "content", "rows"=> "2"), "Alanın Değeri");

yukarıdaki örnek form içerisine şöyle bir html dahil eder;

<textarea name="content" rows="2">Alanın Değeri</textarea>

Buton Ekleme

Bir button html etiketi oluşturmak için button() metodu kullanılabilir.

public function button(array $options = array(), string $value = ""): self

Örneğin:

Form::button(array("class" => "btn btn-primary", "type" => "submit"), "Gönder");

yukarıdaki örnek form içerisine şöyle bir html dahil eder;

<button class="btn btn-primary">Gönder</button>

Select Ekleme

Bir form select bölümü eklemek muadil kütüphanelere göre son derece kolay ve basittir. Form kütüphanesinin select() metodu kullanılır.

public function select(array $select_options = array(), array $options = array(), string $selected = ""): self

Üç parametre alır.

  1. İlk parametre select elemanının değerlerini belirten bir dizi (array) türündedir.
  2. İkinci parametre option elemanlarının bulunduğu dizi (array) türündedir.
  3. Üçüncü parametre seçili olacak option elemanını belirten STRING türünde bir değerdir.

Örnek:

$select_options = array("name" => "secim", "class" => "form-control");
$options = array("key1" => "value1", "key2" => "value2", "key3" => "value3");
Form::select($select_options, $options, "key2");

yukarıdaki örnek form içerisine şöyle bir html dahil eder;

<select name="secim" class="form-control">
    <option value="key1">value1</option>
    <option value="key2" selected>value2</option>
    <option value="key3">value3</option>
</select>

Div Açmak/Kapatmak

Form içerisine bir html div açmak için open_div(), kapatmak için close_div() metotları kullanılabilir.

open_div Tanımı

public function open_div(array $options = array()): self

close_div Tanımı

public function close_div(): self

Örnek:

Form::open_div(array("class" => "form-group", "id" => "formInput"));
Form::input(array("type"=>"text", "name"=>"deneme"));
Form::close_div();

yukarıdaki örnek form içerisine şöyle bir html dahil eder;

<div class="form-group" id="formInput">
<input type="text" name="deneme" />
</div>

Elbette bunun yerine html() metodu ile doğrudan html kodları form içerisine dahil etmekte mümkündür.


HTML Ekleme

Form içerisinde HTML kodları entegre edebilmek için html() metodunu kullanabilirsiniz.

public function html(string $html): self

Örnek:

Form::html('<a href="#">Link</a>');

Formu Sonlandırmak ve Ekrana Basmak

Form elemanlarını ekleme işlemini bitirdiğinizde oluşturduğunuz formun html kodlarını almak için output() metodunu kullanabilirsiniz.

public function output(): string

Örnek:

echo Form::output();