eZ\Publish\Core\MVC\Symfony\SiteAccess\Matcher\Map\Port::setRequest PHP Method

setRequest() public method

Injects the request object to match against.
public setRequest ( SimplifiedRequest $request )
$request eZ\Publish\Core\MVC\Symfony\Routing\SimplifiedRequest
    public function setRequest(SimplifiedRequest $request)
    {
        if (!$this->key) {
            if (!empty($request->port)) {
                $key = $request->port;
            } else {
                switch ($request->scheme) {
                    case 'https':
                        $key = 443;
                        break;
                    case 'http':
                    default:
                        $key = 80;
                }
            }
            $this->setMapKey($key);
        }
        parent::setRequest($request);
    }

Usage Example

コード例 #1
0
 public function testReverseMatchPort()
 {
     $config = array('80' => 'some_siteaccess', '443' => 'another_siteaccess', 8000 => 'ezdemo_site');
     $request = new SimplifiedRequest(array('scheme' => 'http', 'host' => 'ez.no'));
     $matcher = new Port($config);
     $matcher->setRequest($request);
     $this->assertSame(80, $matcher->getMapKey());
     $result = $matcher->reverseMatch('ezdemo_site');
     $this->assertInstanceOf('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\Matcher\\Map\\Port', $result);
     $this->assertSame($request, $matcher->getRequest());
     $this->assertSame(8000, $result->getMapKey());
     $this->assertSame(8000, $result->getRequest()->port);
     $this->assertSame('http', $result->getRequest()->scheme);
 }