PHP Classes

File: vendor/symfony/routing/RequestContext.php

Recommend this page to a friend!
  Classes of Renato Lucena   PHP Pokemon Script   vendor/symfony/routing/RequestContext.php   Download  
File: vendor/symfony/routing/RequestContext.php
Role: Class source
Content type: text/plain
Description: Class source
Class: PHP Pokemon Script
Provides an API to manage a database of Pokemons
Author: By
Last change:
Date: 6 years ago
Size: 7,364 bytes
 

Contents

Class file image Download
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Routing;

use
Symfony\Component\HttpFoundation\Request;

/**
 * Holds information about the current request.
 *
 * This class implements a fluent interface.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 * @author Tobias Schultze <http://tobion.de>
 */
class RequestContext
{
    private
$baseUrl;
    private
$pathInfo;
    private
$method;
    private
$host;
    private
$scheme;
    private
$httpPort;
    private
$httpsPort;
    private
$queryString;

   
/**
     * @var array
     */
   
private $parameters = array();

   
/**
     * Constructor.
     *
     * @param string $baseUrl The base URL
     * @param string $method The HTTP method
     * @param string $host The HTTP host name
     * @param string $scheme The HTTP scheme
     * @param int $httpPort The HTTP port
     * @param int $httpsPort The HTTPS port
     * @param string $path The path
     * @param string $queryString The query string
     */
   
public function __construct($baseUrl = '', $method = 'GET', $host = 'localhost', $scheme = 'http', $httpPort = 80, $httpsPort = 443, $path = '/', $queryString = '')
    {
       
$this->setBaseUrl($baseUrl);
       
$this->setMethod($method);
       
$this->setHost($host);
       
$this->setScheme($scheme);
       
$this->setHttpPort($httpPort);
       
$this->setHttpsPort($httpsPort);
       
$this->setPathInfo($path);
       
$this->setQueryString($queryString);
    }

   
/**
     * Updates the RequestContext information based on a HttpFoundation Request.
     *
     * @param Request $request A Request instance
     *
     * @return $this
     */
   
public function fromRequest(Request $request)
    {
       
$this->setBaseUrl($request->getBaseUrl());
       
$this->setPathInfo($request->getPathInfo());
       
$this->setMethod($request->getMethod());
       
$this->setHost($request->getHost());
       
$this->setScheme($request->getScheme());
       
$this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort());
       
$this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort);
       
$this->setQueryString($request->server->get('QUERY_STRING', ''));

        return
$this;
    }

   
/**
     * Gets the base URL.
     *
     * @return string The base URL
     */
   
public function getBaseUrl()
    {
        return
$this->baseUrl;
    }

   
/**
     * Sets the base URL.
     *
     * @param string $baseUrl The base URL
     *
     * @return $this
     */
   
public function setBaseUrl($baseUrl)
    {
       
$this->baseUrl = $baseUrl;

        return
$this;
    }

   
/**
     * Gets the path info.
     *
     * @return string The path info
     */
   
public function getPathInfo()
    {
        return
$this->pathInfo;
    }

   
/**
     * Sets the path info.
     *
     * @param string $pathInfo The path info
     *
     * @return $this
     */
   
public function setPathInfo($pathInfo)
    {
       
$this->pathInfo = $pathInfo;

        return
$this;
    }

   
/**
     * Gets the HTTP method.
     *
     * The method is always an uppercased string.
     *
     * @return string The HTTP method
     */
   
public function getMethod()
    {
        return
$this->method;
    }

   
/**
     * Sets the HTTP method.
     *
     * @param string $method The HTTP method
     *
     * @return $this
     */
   
public function setMethod($method)
    {
       
$this->method = strtoupper($method);

        return
$this;
    }

   
/**
     * Gets the HTTP host.
     *
     * The host is always lowercased because it must be treated case-insensitive.
     *
     * @return string The HTTP host
     */
   
public function getHost()
    {
        return
$this->host;
    }

   
/**
     * Sets the HTTP host.
     *
     * @param string $host The HTTP host
     *
     * @return $this
     */
   
public function setHost($host)
    {
       
$this->host = strtolower($host);

        return
$this;
    }

   
/**
     * Gets the HTTP scheme.
     *
     * @return string The HTTP scheme
     */
   
public function getScheme()
    {
        return
$this->scheme;
    }

   
/**
     * Sets the HTTP scheme.
     *
     * @param string $scheme The HTTP scheme
     *
     * @return $this
     */
   
public function setScheme($scheme)
    {
       
$this->scheme = strtolower($scheme);

        return
$this;
    }

   
/**
     * Gets the HTTP port.
     *
     * @return int The HTTP port
     */
   
public function getHttpPort()
    {
        return
$this->httpPort;
    }

   
/**
     * Sets the HTTP port.
     *
     * @param int $httpPort The HTTP port
     *
     * @return $this
     */
   
public function setHttpPort($httpPort)
    {
       
$this->httpPort = (int) $httpPort;

        return
$this;
    }

   
/**
     * Gets the HTTPS port.
     *
     * @return int The HTTPS port
     */
   
public function getHttpsPort()
    {
        return
$this->httpsPort;
    }

   
/**
     * Sets the HTTPS port.
     *
     * @param int $httpsPort The HTTPS port
     *
     * @return $this
     */
   
public function setHttpsPort($httpsPort)
    {
       
$this->httpsPort = (int) $httpsPort;

        return
$this;
    }

   
/**
     * Gets the query string.
     *
     * @return string The query string without the "?"
     */
   
public function getQueryString()
    {
        return
$this->queryString;
    }

   
/**
     * Sets the query string.
     *
     * @param string $queryString The query string (after "?")
     *
     * @return $this
     */
   
public function setQueryString($queryString)
    {
       
// string cast to be fault-tolerant, accepting null
       
$this->queryString = (string) $queryString;

        return
$this;
    }

   
/**
     * Returns the parameters.
     *
     * @return array The parameters
     */
   
public function getParameters()
    {
        return
$this->parameters;
    }

   
/**
     * Sets the parameters.
     *
     * @param array $parameters The parameters
     *
     * @return $this
     */
   
public function setParameters(array $parameters)
    {
       
$this->parameters = $parameters;

        return
$this;
    }

   
/**
     * Gets a parameter value.
     *
     * @param string $name A parameter name
     *
     * @return mixed The parameter value or null if nonexistent
     */
   
public function getParameter($name)
    {
        return isset(
$this->parameters[$name]) ? $this->parameters[$name] : null;
    }

   
/**
     * Checks if a parameter value is set for the given parameter.
     *
     * @param string $name A parameter name
     *
     * @return bool True if the parameter value is set, false otherwise
     */
   
public function hasParameter($name)
    {
        return
array_key_exists($name, $this->parameters);
    }

   
/**
     * Sets a parameter value.
     *
     * @param string $name A parameter name
     * @param mixed $parameter The parameter value
     *
     * @return $this
     */
   
public function setParameter($name, $parameter)
    {
       
$this->parameters[$name] = $parameter;

        return
$this;
    }
}