芝麻web文件管理V1.00
编辑当前文件:/home/digitalh/public_html/vendor/php-flasher/flasher/Http/RequestExtension.php
*/ namespace Flasher\Prime\Http; use Flasher\Prime\FlasherInterface; final class RequestExtension { /** * @var FlasherInterface */ private $flasher; /** * @var array
*/ private $mapping; /** * @param array
$mapping */ public function __construct(FlasherInterface $flasher, array $mapping = array()) { $this->flasher = $flasher; $this->mapping = $this->flatMapping($mapping); } /** * @return ResponseInterface */ public function flash(RequestInterface $request, ResponseInterface $response) { if (!$request->hasSession()) { return $response; } foreach ($this->mapping as $alias => $type) { if (false === $request->hasType($alias)) { continue; } $messages = (array) $request->getType($alias); foreach ($messages as $message) { $this->flasher->addFlash($type, $message); } $request->forgetType($alias); } return $response; } /** * @param array
$mapping * * @return array
*/ private function flatMapping(array $mapping) { $flatMapping = array(); foreach ($mapping as $type => $aliases) { foreach ($aliases as $alias) { $flatMapping[$alias] = $type; } } return $flatMapping; } }