16/10/2014 - SYMFONY
Bu örnek ile sistemde oluşan tüm master ve sub isteklerin nasıl oluştuğunu göreceğiz. Aşağıda verdiğim, master ve sub isteklerin nasıl oluştuğuna dair ufak bir listedir ama, mutlaka yazılanlardan daha fazlasınıda kendiniz test ederek bulabilirsiniz.
Bunlar direkt olarak kullanıcıdan gelen isteklerdir.
$this->redirect()
ve return new Symfony\Component\HttpFoundation\RedirectResponse()
ile yapılması.return new Symfony\Component\HttpFoundation\Response()
class veya methodlar ie yapılması.Sistemin kendisinin oluştuğunu ve kullanıcının yaratmadığı istekleri kapsar.
$this->forward()
methodu ile forward işlemi yapmak.forward()
methodu ile forward işlemi yapmak.{% render ... %}
kullanmak.return $this->render()
methodu ile yaratmak.parameters:
listener.log.file: '%kernel.logs_dir%/listener.log'
# football/app/logs/listener.log
services:
application_backend.listener.user_controller:
class: Application\BackendBundle\EventListener\UserControllerListener
arguments:
- %listener.log.file%
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
namespace Application\BackendBundle\EventListener;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
class UserControllerListener
{
private $logFile;
private $message = [
true => 'Master request',
false => 'Sub request'
];
public function __construct($logFile)
{
$this->logFile = $logFile;
}
public function onKernelRequest(GetResponseEvent $event)
{
$this->logRequest(
$this->message[$event->isMasterRequest()],
$event->getRequest()->getMethod()
);
}
private function logRequest($message, $method = null)
{
file_put_contents(
$this->logFile,
file_exists($this->logFile)
? file_get_contents($this->logFile) . "\n" . $method . ':' . $message
: $method . ':' . $message
);
}
}
GET:Master request
GET:Sub request
GET:Master request
POST:Master request
GET:Master request
GET:Sub request
GET:Sub request
GET:Master request
GET:Master request
GET:Sub request
GET:Master request