Deprecated: Function split() is deprecated in /home/adiodomcom/domains/adiodom.com/public_html/melnik/WEB-INF/classes/actions/base.class.php on line 52
My Products - PHP Form Library
title

My Products - PHP Form Library


Введение

Предлагаю вашему вниманию библиотеку для построения веб-форм на стороне сервера. Библиотека представляет собой набор контролов(FormElement) которые наполняют объект формы(Form). Размещение елементов на странице задается отдельным файлом-темплейтом.

Download

Последнюю версию библиотеки вы можете получить здесь (~125Kb).

Пример использования

index.php

require_once("lib/common.lib.php");
import('smarty.Smarty');
import('html.HttpRequest');
import('form.Form');
import('form.ActionForm');

$smarty=new Smarty;
$request = new HttpRequest();

$form = new Form("myForm");
$form->addInput(array("type"=>"textfield", "name"=>"subject"));
$form->addInput(array("type"=>"calendar", "name"=>"date"));
$form->addInput(array("type"=>"hidden", "name"=>"flag"));
$form->addInput(array("type"=>"submit","name"=>"save","value"=>"Save"));

// init form's element
$form->setValueByElement("subject", "New subject");

$bean = new ActionForm("myBean", $form, $request);

if ($request->getMethod()=="POST") {
	print "Date: ".$bean->getAttribute("date");
	print "<br>";
	print "Subject: ".$bean->getAttribute("subject");
}

$smarty->assign("forms",array($form->getName()=>$form->toArray()) );
$smarty->display("index.tpl");


index.tpl

{$forms.myForm.open}
Date: {$forms.myForm.date.control}
Subject: {$forms.myForm.subject.control}
{$forms.myForm.save.control}
{$forms.myForm.close}

form view:

Struts,Jakarta,Tiles,Templates,Template,темплейт,темплейты,framework,web-application,веб-приложение,приложение,веб