PHP code example of imediafrance / ammit
1. Go to this page and download the library: Download imediafrance/ammit 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/ */
imediafrance / ammit example snippets
$registerUserCommandResolver = new RegisterUserCommandResolver();
try {
$command = $registerUserCommandResolver->resolve($request);
} catch (AbstractNormalizableCommandResolverException $e) {
// Return a JSON error following jsonapi.org's format
// @see http://jsonapi.org/examples/#error-objects-basics
return JsonResponse::fromJsonString(
json_encode(
$e->normalize()
),
406
);
}
try {
$this->userService->registerUser($command);
} catch(DomainException $e) {
// ...
}
// ...
/**
* Resolve a PSR-7 Request into a RegisterUserCommand (Data Transfer Object)
*/
class RegisterUserCommandResolver extends AbstractPureCommandResolver
{
/**
* @inheritdoc
*/
public function resolve(ServerRequestInterface $request): RegisterUserCommand
{
$commandConstructorValues = $this->resolveRequestAsArray($request);
// We are using variadic function here (https://wiki.php.net/rfc/variadics)
return new RegisterUserCommand(...$commandConstructorValues);
}
/**
* @inheritDoc
*/
protected function validateThenMapAttributes(ServerRequestInterface $request): array
{
// $id = $_GET['id']
$id = $this->queryStringValueValidator->mustBeString(
$request,
'id'
);
// $firstName = $_POST['firstName']
$firstName = $this->attributeValueValidator->mustBeString(
$request,
'firstName'
);
// $lastName = $_POST['lastName']
$lastName = $this->attributeValueValidator->mustBeString(
$request,
'lastName'
);
// $email = $_POST['email']
$email = $this->attributeValueValidator->mustBeString(
$request,
'email'
);
// Will be injected directly in RegisterUserCommand::__construct(...$args)
// as variadic function
$commandConstructorValues = [
$id,
$firstName,
$lastName,
$email
];
return $commandConstructorValues;
}
}
$email = $attributeValueValidator->mustBeUuid(
$request,
'id'
);