42 lines
1.0 KiB
PHP
42 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace Picea\Ui\Method;
|
|
|
|
use Picea\Extension\Extension,
|
|
Picea\Extension\ExtensionTrait;
|
|
|
|
use Picea\Compiler\Context;
|
|
|
|
use Picea\Extension\FunctionExtension;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
class Form implements Extension, FunctionExtension {
|
|
use ExtensionTrait;
|
|
|
|
public array $tokens;
|
|
|
|
public string $token;
|
|
|
|
public FormContext $formContext;
|
|
|
|
public ServerRequestInterface $request;
|
|
|
|
public function __construct(ServerRequestInterface $request, Context $context) {
|
|
$this->request = $request;
|
|
}
|
|
|
|
public function parse(\Picea\Compiler\Context &$context, ?string $arguments, string $token) : string { }
|
|
|
|
public function exportFunctions(): array
|
|
{
|
|
return [
|
|
"form" => [ $this, 'formClass' ],
|
|
];
|
|
}
|
|
|
|
public function formClass(FormInterface $form, ? FormContext $formContext = null) : FormHandler
|
|
{
|
|
return new FormHandler($formContext ? $formContext->request : $this->request, $form, $formContext);
|
|
}
|
|
}
|