1. Go to this page and download the library: Download metglobal/dto-bundle 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/ */
/**
* @Parameter(scope="query", path="testPath")
*/
public $differentName;
namespace Metglobal\Compass\Request;
use Metglobal\DTOBundle\Annotation\Parameter;
use Metglobal\DTOBundle\Request;
use Metglobal\DTOBundle\Undefined;
/**
* @Parameter(scope="query")
*/
class DummyRequest implements Request
{
/**
* @Parameter(type="int")
*
* @var int|null
*/
public $foo;
/**
* @Parameter(type="int")
*
* @var int|null
*/
public $bar;
}
namespace Metglobal\Compass\Request;
use Metglobal\DTOBundle\Annotation\Parameter;
use Metglobal\DTOBundle\Request;
use Metglobal\DTOBundle\Undefined;
class DummyRequest implements Request
{
/**
* @Parameter(scope="query", undefined=true)
*
* @var string|null|Undefined
*/
public $foo;
}
namespace Metglobal\Compass\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
...
class DummyController extends Controller
{
/**
* @Route("/dummy/{id}",
namespace Metglobal\Compass\Request;
use Metglobal\DTOBundle\Annotation\Parameter;
use Metglobal\DTOBundle\Annotation\PostSet;
use Metglobal\DTOBundle\Annotation\PreSet;
use Metglobal\DTOBundle\CallableRequest;
use Metglobal\DTOBundle\Undefined;
/**
* @Parameter(scope="query")
*/
class DummyRequest implements CallableRequest
{
/**
* @Parameter(type="int")
*
* @var int|null
*/
public $foo;
public $bar;
public $baz;
/**
* @var \DateTime|null
*
* @Parameter(type="date", options={format="Y-m-d"})
*/
public $fooBar;
public function call(...$args)
{
[ $fooService, $barService ] = $args;
$this->foo = $fooService->aMethod($barService->bMethod($this->foo));
}
/**
* This method will run before setting the parameters
*
* @PreSet()
*/
public function preSetXMethod(){
$this->baz = 1;
}
/**
* This method will run after setting the parameters
*
* @PostSet()
*/
public function postSetXMethod(){
$this->baz = 5;
}
}
namespace Metglobal\Compass\Request;
use Metglobal\DTOBundle\Annotation\Parameter;
use Metglobal\DTOBundle\CallableRequest;
use Metglobal\DTOBundle\Undefined;
/**
* @Group("fooGroup")
* @Parameter(scope="query")
*/
class DummyRequest implements CallableRequest
{
/**
* @Parameter(type="int", undefined=true)
* @Group(target="barGroup")
*
* @var int|null|Undefined
*/
public $foo;
/**
* @Group(disabled=true)
*/
public $bar;
public $baz;
/** @var array */
public $fooGroup;
}
[
'baz' => 'bazValue',
];
[
'foo' => 'fooValue',
];
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.