Вход Регистрация
Файл: library/XenForo/RouteMatch.php
Строк: 242
<?php

/**
* Class that represents a result to be returned by a {@link XenForo_Route_Interface}.
*
* @package XenForo_Mvc
*/
class XenForo_RouteMatch
{
    
/**
    * If not null, represents a modified version of the routing path to be passed
    * into subsequent rules (if there are any). Useful only when the rule generating
    * the object doesn't list a controller and action. Can be set to an empty string
    * to cause the next rule to receive {@link XenForo_Router::$_routePathIfEmpty} as the
    * routing path.
    *
    * @var null|string
    */
    
public $_modifiedRoutePath null;

    
/**
    * If not empty, the type of response (eg, html, json) that should be returned via
    * the response. If left as an empty string, any previously set type will be used.
    *
    * @var string
    */
    
protected $_responseType '';

    
/**
    * The name of the controller class to handle this match. If not empty, no further
    * rules will be processed and routing will finishe.
    *
    * @var string
    */
    
protected $_controllerName '';

    
/**
    * The name of the action to call in the specified controller class. Applies only when
    * {@link $controllerName} is not empty; must be specified if a controller is specified.
    *
    * @var string
    */
    
protected $_action '';

    
/**
     * The major section of the page being routed to. This is used as a navigation aid;
     * for example, to show the right tab and child sections.
     *
     * @var string
     */
    
protected $_majorSection '';

    
/**
     * The minor section of the page being routed to. This can, for example, allow the
     * current section within a tab to be displayed as if it's selected.
     *
     * @var string
     */
    
protected $_minorSection '';

    
/**
    * Constructor. Allows quick set of the controller and action. Other elements
    * should be set directly via the properties.
    *
    * @param string If routing to a controller, the controller name to call
    * @param string|false If routing to a controller, the action in that controller
    * @param string The major section of the page we're being routed to
    * @param string The minor section of the page we're being routed to
    */
    
public function __construct($controllerName ''$action false$majorSection ''$minorSection '')
    {
        
$this->setControllerName($controllerName);
        if (
$action !== false)
        {
            
$this->setAction($action);
        }

        
$this->setSections($majorSection$minorSection);
    }

    
/**
     * Sets the controller name.
     *
     * @param string $controllerName
     */
    
public function setControllerName($controllerName)
    {
        
$this->_controllerName strval($controllerName);
    }

    
/**
     * Gets the controller name.
     *
     * @return string
     */
    
public function getControllerName()
    {
        return 
$this->_controllerName;
    }

    
/**
    * Helper method to set the action. This will automatically translate the
    * action into a a more usable form, by replacing dashes with word breaks.
    * For example, confirm-test will be mapped to ConfirmTest.
    *
    * @param string
    */
    
public function setAction($action)
    {
        
$this->_action $action;
    }

    
/**
     * Gets the action.
     *
     * @return string
     */
    
public function getAction()
    {
        return 
$this->_action;
    }

    
/**
     * Sets the response type.
     *
     * @param string $responseType
     */
    
public function setResponseType($responseType)
    {
        
$this->_responseType strval($responseType);
    }

    
/**
     * Gets the response type.
     *
     * @return string
     */
    
public function getResponseType()
    {
        return 
$this->_responseType;
    }

    
/**
     * Sets the modified route path that will be passed to subsequent matches.
     *
     * @param string|null $routePath
     */
    
public function setModifiedRoutePath($routePath)
    {
        
$this->_modifiedRoutePath $routePath;
    }

    
/**
     * Gets the modified route path. If null, no modification is requested.
     *
     * @return string|null
     */
    
public function getModifiedRoutePath()
    {
        return 
$this->_modifiedRoutePath;
    }

    
/**
     * Sets the major and minor sections that we're routing to. This is used to
     * aid navigation.
     *
     * @param string $majorSection
     * @param string $minorSection
     */
    
public function setSections($majorSection$minorSection '')
    {
        
$this->_majorSection strval($majorSection);
        
$this->_minorSection strval($minorSection);
    }

    
/**
     * Gets the major section that the routing points to.
     *
     * @return string
     */
    
public function getMajorSection()
    {
        return 
$this->_majorSection;
    }

    
/**
     * Gets the minor section that the routing points to.
     *
     * @return string
     */
    
public function getMinorSection()
    {
        return 
$this->_minorSection;
    }
}
Онлайн: 1
Реклама