1. Go to this page and download the library: Download webmunkeez/adr-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/ */
final class StoryDetailAction implements \Webmunkeez\ADRBundle\Action\ActionInterface
{
public function __invoke(): Response
{
return $this->render($data);
}
public function render(?\Webmunkeez\ADRBundle\Response\ResponseDataInterface $data = null): Response
{
return new Response(...);
}
}
final class StoryController implements \Webmunkeez\ADRBundle\Action\ActionInterface
{
public function detail(): Response
{
return $this->render($data);
}
public function render(?\Webmunkeez\ADRBundle\Response\ResponseDataInterface $data = null): Response
{
return new Response(...);
}
}
final class StoryDetailAction implements \Webmunkeez\ADRBundle\Action\ActionInterface
{
private \Webmunkeez\ADRBundle\Response\Responder $responder;
public function __construct(\Webmunkeez\ADRBundle\Response\Responder $responder)
{
$this->responder = $responder
}
public function __invoke(): Response
{
return $this->render($data);
}
public function render(?\Webmunkeez\ADRBundle\Response\ResponseDataInterface $data = null): Response
{
return $this->responder->render($data);
}
}
final class StoryDetailAction implements \Webmunkeez\ADRBundle\Action\ActionInterface, \Webmunkeez\ADRBundle\Response\ResponderAwareInterface
{
use \Webmunkeez\ADRBundle\Response\ResponderAwareTrait;
public function __invoke(): Response
{
return $this->render($data);
}
public function render(?\Webmunkeez\ADRBundle\Response\ResponseDataInterface $data = null): Response
{
return $this->responder->render($data);
}
}
final class StoryDetailAction implements \Webmunkeez\ADRBundle\Action\ActionInterface, \Webmunkeez\ADRBundle\Response\ResponderAwareInterface
{
use \Webmunkeez\ADRBundle\Response\ResponderAwareTrait;
use \Webmunkeez\ADRBundle\Action\ActionTrait;
public function __invoke(): Response
{
return $this->render($data);
}
}
final class StoryDetailAction extends \Webmunkeez\ADRBundle\Action\AbstractAction
{
public function __invoke(): Response
{
return $this->render($data);
}
}
final class XmlResponder implements \Webmunkeez\ADRBundle\Response\ResponderInterface
{
private RequestStack $requestStack;
private SerializerInterface $serializer;
public function __construct(RequestStack $requestStack, SerializerInterface $serializer)
{
$this->requestStack = $requestStack;
$this->serializer = $serializer;
}
public function supports(): bool
{
return 'xml' === $this->requestStack->getCurrentRequest()->getPreferredFormat();
}
public function render(?\Webmunkeez\ADRBundle\Response\ResponseDataInterface $data = null): Response
{
$xml = $this->serializer->serialize($data, 'xml');
$response = new Response($xml);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
}
use Webmunkeez\ADRBundle\Attribute\Template;
#[Template('story/detail.html.twig')]
final class StoryDetailAction implements \Webmunkeez\ADRBundle\Action\ActionInterface
{
...
}
use Webmunkeez\ADRBundle\Attribute\SerializationContext;
#[SerializationContext(['groups' => 'group_one'])]
final class StoryDetailAction implements \Webmunkeez\ADRBundle\Action\ActionInterface
{
...
}
final class CustomResponder implements \Webmunkeez\ADRBundle\Response\ResponderInterface
{
private RequestStack $requestStack;
private Environment $twig;
public function __construct(RequestStack $requestStack, Environment $twig)
{
$this->requestStack = $requestStack;
$this->twig = $twig;
}
public function supports(): bool
{
$controller = $this->requestStack->getCurrentRequest()->attributes->get('_controller');
$actionClass = false !== strpos($controller, '::') ? substr($controller, 0, strpos($controller, '::')) : $controller;
return CustomResponderAction::class === $actionClass;
}
public function render(?\Webmunkeez\ADRBundle\Response\ResponseDataInterface $data = null): Response
{
$data = array_merge($data, ['customResponder' => true]);
$html = $this->twig->render($this->requestStack->getCurrentRequest()->attributes->get('_template_path'), $data);
return new Response($html);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.