1. Go to this page and download the library: Download mpscholten/request-parser 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/ */
mpscholten / request-parser example snippets
public function index()
{
$page = $this->request->query->get('page');
if ($page === null || !is_integer($page)) {
throw new Exception("Parameter page not found");
}
$order = $this->request->query->get('order');
if ($order === null || !in_array($order, ['asc', 'desc'])) {
throw new Exception("Parameter order not found");
}
// Optional parameter
$createdAt = $this->query->query->get('createdAt');
if (is_string($createdAt)) {
$createdAt = new DateTime($createdAt);
} else {
$createdAt = null;
}
}
public function index()
{
$page = $this->queryParameter('page')->int()->ed();
$createdAt = $this->queryParameter('createdAt')->dateTime()->defaultsTo(null);
}
class MyController
{
use \MPScholten\RequestParser\Symfony\ControllerHelperTrait;
public function __construct(Request $request)
{
$this->initRequestParser($request);
}
}
class MyController
{
use \MPScholten\RequestParser\Symfony\ControllerHelperTrait;
public function __construct(Request $request)
{
$this->initRequestParser($request);
}
public function myAction()
{
$someParameter = $this->queryParameter('someParameter')->string()->
class MyController
{
use \MPScholten\RequestParser\Psr7\ControllerHelperTrait;
public function __construct(ServerRequestInterface $request)
{
$this->initRequestParser($request);
}
}
class MyController
{
use \MPScholten\RequestParser\Psr7\ControllerHelperTrait;
public function __construct(ServerRequestInterface $request)
{
$this->initRequestParser($request);
}
public function myAction()
{
$someParameter = $this->queryParameter('someParameter')->string()->
class MyController
{
use \MPScholten\RequestParser\Symfony\ControllerHelperTrait;
public function __construct(Request $request)
{
$this->initRequestParser($request);
}
public function myAction()
{
$someParameter = $this->queryParameter('someParameter')->string()->defaultsTo('no value given');
}
}
class DashboardController
{
public function show()
{
$dashboardId = $this->queryParameter('id')->int()->ameter('name')->string()->>defaultsToIfEmpty("default value");
// GET /dashboard?status=private => $dashboardStatus == "private"
// GET /dashboard?status=public => $dashboardStatus == "public"
// GET /dashboard?status=invalid => A NotFoundException will be thrown
$dashboardStatus = $this->queryParameter('status')->oneOf(['private', 'public'])->
// GET /dashboard?includeWidgets=false => $includeWidgets == false
// GET /dashboard?includeWidgets=0 => $includeWidgets == false
// GET /dashboard?includeWidgets=abcde => A NotFoundException will be thrown
$includeWidgets = $this->queryParameter('includeWidgets')->boolean()->
class MyController
{
use \MPScholten\RequestParser\Symfony\ControllerHelperTrait;
public function __construct(Request $request)
{
$exceptionFactory = new ExceptionFactory(CustomNotFoundException::class, CustomInvalidValueException::class));
$config = new \MPScholten\RequestParser\Config();
$config->setExceptionFactory($exceptionFactory);
$this->initRequestParser($request, $config);
}
}
class DashboardController
{
public function show()
{
$dashboardId = $this->queryParameter('id')->int()->
class FriendlyExceptionMessageFactory extends \MPScholten\RequestParser\ExceptionMessageFactory
{
protected function createNotFoundMessage($parameterName)
{
return "Looks like $parameterName is missing :)";
}
protected function createInvalidValueMessage($parameterName, $parameterValue, $expected)
{
return "Whoops :) $parameterName seems to be invalid. We're looking for $expected but you provided '$parameterValue'";
}
}
class MyController
{
use \MPScholten\RequestParser\Symfony\ControllerHelperTrait;
public function __construct(Request $request)
{
$config = new \MPScholten\RequestParser\Config();
$config->setExceptionMessageFactory(new FriendlyExceptionMessageFactory());
$this->initRequestParser($request, $config);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.