require_once 'path_to_kodform4/lib/Kod_Form.php';
Trenutno jedini file koji trebate je Kod_Form.php u lib direktoriju. No to ce se najvjerojatnije promjeniti u buducnosti (file buja).
$form = new Kod_Form("login", 0, "");
Stvaranje forme. Prvi argument je id forme (u HTML-u je namjenjen za id ili name atribut). Drugi je koju ce metodu submitanja koristiti ova forma (0 = post, 1 = get). Treci je koja ce se action pozvati (odgovara action atributu u HTML-u).
$fusername =& $form->addElement(new Kod_Field("username", "Username", Kod_Field::text, null, "Please enter username"));
$fusername->addValidator(new Regex_Validator("'\w*'", "Username can hold only numbers and letters"));
$fusername->addValidator(new Size_Validator(10, 4, "Username must be 4 to 10 letters long."));
Ovaj kod je ovako malo zbunjujuci pa cu napisati istu stvar malo jednostavnije:
$fusername = new Kod_Field("username", "Username", Kod_Field::text, null, "Please enter username");
Eto stvaramo polje za unos korisnickog imena. Ovaj objekt je klase Kod_Field. Ona u svom konstruktoru uzima 5 argumenta. Prvi je id polja. Drugi vidljivo ime polja. Treci tip polja (trenutno moze biti text, password ili hidden). Cetvrti je pocetna (default value) vrijednost ili null ako je nema. I peti je null ako se polje ne mora obavezno unjeti. U suprotnom to je poruka o gresci ako polje nije unjeto. Interno 5 argument generira Required_Validator objekt i dodaje ga ovom polju.
$fusername->addValidator(new Regex_Validator("'\w*'", "Username can hold only numbers and letters"));
$fusername->addValidator(new Size_Validator(10, 4, "Username must be 4 to 10 letters long."));
Ovdje dodajemo dva validatora (ne znam bolji prijevod za ovo). Prvi Regex_Validator je vrlo generalni i mocan (zato jer koristi regular expressios) te zahtjeva da username bude formiran od slova i brojeva. Drugi Size_Validator smo provjerava duzinu upisanog teksta. Konkretno u ovom slucaju tekst ne smije biti veci od 10 i manji od 4 znaka.
$form->addElement($fusername);
Da bi sve to imalo smisla treba polje dodati u formu.
Sve ovo vrijedi i za password polje pa tu necu razglabati. Samo cu napomenuti da je jos moguce dodati filtere koji u biti filtriraju vrijednosti polja prije nego sto validatori krenu u akciju. Vrlo cesti filter je Trim_Filter (trenutno jedini implementiran) a radi iste stvari kao i trim funkcija u PHPu.
$form->addElement(new Kod_Submit("slogin", "Login"));
Eto da bi mogli submitati formu treba nam i jedan submit element (Kod_Submit). Prvi argument je id submita a drugi je vidljivo ime (display name). I sve je lijepo dodano u formu s addElement.
if($form->isSubmited() && $form->isValid()){
?>
You are in. ( Your username: username->getValue();?>, Your password: password->getValue();?>)
Provjera da li je forma submitana te da li su svi podati valjani. Ako to je napisi nesto i svrsi :) .
print $form->display();
Ovime se ispisuje forma. Tu treba napomenuti da se koristi defaultni template (predlozak). No moguce joj je kao argument poslati path na vas template no to je vec prica za neki drugi text.