1. Go to this page and download the library: Download evista/perform library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
evista / perform example snippets
use Evista\Perform\Service;
// (...)
// Initialize form transpilation service (dependency injection friendly interface)
$formService = new Service($crawler);
$router->addRoute('POST', '/loginform', function (Request $request, Response $response) use($formService) {
$formMarkup = $request->request->get('serform');
$form = $formService->transpileForm($formMarkup);
// Get fields:
$fields = $form->getFields();
// Get an input field named 'email'
$emailField = $form->getField('email');
// Get the field's submitted value
$emailField->getValue();
// Get attributes, eg. placeholder:
$placeholder = $emailField->getAttribute('placeholder');
// Get selected option:
$selectField = $form->getField('test-select');
$selected = $selectField->getValue();
// Get the default selected option (that is selected in markup)
$defaultSelected = $selectField->getDefaultSelectedOption();
// Get files and handle them (multiple/single file upload)
try {
$fileField = $form->getField('files');
} catch (FormFieldException $formFieldException) {
$response = new Response();
$response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
$response->setContent('Error: ' . $formFieldException->getMessage());
$response->send();
return $response;
}
$uploadedFiles = $fileField->getFiles();
foreach ($uploadedFiles as $uploadedFile) {
// Check real file type:
$realType = $uploadedFile->getRealType(); // eg. image/png
$userAddedName = $uploadedFile->getUserName;
// Move the file to its final destination
$uploadedFile->moveToDestination($destination = '/var/uploads/');
// Get safe file name
$safeBaseName = $uploadedFile->getSafeName(); // no extension
// Get the original extension from filename
$userExtension = $uploadedFile->getUserExtension();
}
// Check validity
if (!$form->isValid()) {
// All errors can be spotted in the fields
foreach ($form->getFields() as $field) {
if (!$field->isValid()) {
$validationErrors[] = $field->getErrors();
}
}
// Or a lot more conveniently:
// This returns an array of Evista\Perform\ValueObject\ValidationError objects
$allValidationErrors = $form->getValidationErrors();
}
// Then send some response
$response = new JsonResponse(['dump'=>(var_export($form, true))]);
return $response;
});