Provides support for configuring the properties of an object for validation, formatting, and storage.
<!DOCTYPE html>
<?php
namespace MyApp;
use Phpolar\Phpolar\FormControlTypes;
/**
* @var PersonForm
*/
$view = $this;
?>
<html>
// ...
<body style="text-align:center">
<h1><?= $view->title ?></h1>
<div class="container">
<form action="<?= $view->action ?>" method="post">
<?php foreach ($view as $propName => $propVal): ?>
<label><?= $view->getLabel($propName) ?></label>
<?php switch ($view->getFormControlType($propName)): ?>
<?php case FormControlTypes::Input: ?>
<input type="text" value="<?= $propVal ?>" />
<?php case FormControlTypes::Select: ?>
<select>
<?php foreach ($propVal as $name => $item): ?>
<option value="<?= $item ?>"><?= $name ?></option>
<?php endforeach ?>
</select>
<?php endswitch ?>
<?php endforeach ?>
</form>
</div>
</body>
</html>
use Phpolar\Phpolar\AbstractModel;
class Person extends AbstractModel
{
public string $title = "Person Form";
public string $action = "somewhere";
#[MaxLength(20)]
public string $firstName;
#[MaxLength(20)]
public string $lastName;
#[Column("Residential Address")]
#[Label("Residential Address")]
#[MaxLength(200)]
public string $address1;
#[Column("Business Address")]
#[Label("Business Address")]
#[MaxLength(200)]
public string $address2;
}
Source Code Size | Memory Usage |
---|---|
19 kB | 108 kB |