當前位置: 首頁>>代碼示例>>PHP>>正文


PHP FilterControllerEvent::stopPropagation方法代碼示例

本文整理匯總了PHP中Symfony\Component\HttpKernel\Event\FilterControllerEvent::stopPropagation方法的典型用法代碼示例。如果您正苦於以下問題:PHP FilterControllerEvent::stopPropagation方法的具體用法?PHP FilterControllerEvent::stopPropagation怎麽用?PHP FilterControllerEvent::stopPropagation使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\HttpKernel\Event\FilterControllerEvent的用法示例。


在下文中一共展示了FilterControllerEvent::stopPropagation方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: onKernelController

 /**
  * Handles HTTP validation headers.
  */
 public function onKernelController(FilterControllerEvent $event)
 {
     $request = $event->getRequest();
     if (!($configuration = $request->attributes->get('_cache'))) {
         return;
     }
     $response = new Response();
     $lastModifiedDate = '';
     if ($configuration->getLastModified()) {
         $lastModifiedDate = $this->getExpressionLanguage()->evaluate($configuration->getLastModified(), $request->attributes->all());
         $response->setLastModified($lastModifiedDate);
     }
     $etag = '';
     if ($configuration->getETag()) {
         $etag = hash('sha256', $this->getExpressionLanguage()->evaluate($configuration->getETag(), $request->attributes->all()));
         $response->setETag($etag);
     }
     if ($response->isNotModified($request)) {
         $event->setController(function () use($response) {
             return $response;
         });
         $event->stopPropagation();
     } else {
         if ($etag) {
             $this->etags[$request] = $etag;
         }
         if ($lastModifiedDate) {
             $this->lastModifiedDates[$request] = $lastModifiedDate;
         }
     }
 }
開發者ID:nicolas-grekas,項目名稱:SensioFrameworkExtraBundle,代碼行數:34,代碼來源:HttpCacheListener.php

示例2: filter

 public function filter(FilterControllerEvent $event, Response $response)
 {
     if ($this->check($response)) {
         $event->setController(function () use($response) {
             return $response;
         });
         $event->stopPropagation();
     }
 }
開發者ID:geschke,項目名稱:legacy-integration-bundle,代碼行數:9,代碼來源:PassthruLegacyResponseFilter.php

示例3: onKernelController

 /**
  * Searches for sluggable objects in the route parameters and checks slugs if necessary.
  *
  * If an invalid slug is detected, then the user will be redirected to the URLs with the valid slug.
  *
  * @param FilterControllerEvent $event
  */
 public function onKernelController(FilterControllerEvent $event)
 {
     $attributes = $event->getRequest()->attributes;
     foreach ($attributes as $name => $value) {
         if ($this->hasValidSlug($attributes, $name)) {
             continue;
         }
         $event->stopPropagation();
         // Invalid slug passed. Redirect to a URL with valid slug.
         $event->setController(function () use($event, $name) {
             return $this->createRedirectFor($event->getRequest(), $name);
         });
         break;
     }
 }
開發者ID:webfactory,項目名稱:slug-validation-bundle,代碼行數:22,代碼來源:ValidateSlugListener.php

示例4: handleMaintenanceState

 /**
  * Handle switching the controller and action to the maintenance state.
  */
 private function handleMaintenanceState()
 {
     $this->event->stopPropagation();
     $this->event->setController([$this->maintenanceController, 'displayMaintenanceAction']);
 }
開發者ID:scr-be,項目名稱:mantle-bundle,代碼行數:8,代碼來源:MaintenanceListener.php


注:本文中的Symfony\Component\HttpKernel\Event\FilterControllerEvent::stopPropagation方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。