ConLite/conlite/classes/UrlBuilder/Contenido_UrlBuilder.class.php

98 Zeilen
2.3 KiB
PHP

<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* Abstract implementation of Contenido_UrlBuilder.
*
* Requirements:
* @con_php_req 5.0
*
*
* @package Contenido Backend classes
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
* @license http://www.contenido.org/license/LIZENZ.txt
* @link http://www.4fb.de
* @link http://www.contenido.org
*
* {@internal
* created 2008-02-21
* modified 2008-09-29, Murat Purc, added getHttpBasePath() method
*
* $Id$:
* }}
*
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
abstract class Contenido_UrlBuilder {
/**
* @var string
* @access protected
* @desc Holds final value of built URL
*/
protected $sUrl; // needed in this context
/**
* @var string
* @access protected
* @desc Holds URL that is used as base for an absolute path, e.g. http://contenido.org/
*/
protected $sHttpBasePath; // needed in this context
/**
* Implementation of Singleton. Get instance of concrete Contenido_UrlBuilder_XYZ
* @access public
* @return obj Contenido_UrlBuilder_Frontcontent
* @author Rudi Bieller
*/
abstract public static function getInstance();
/**
* Set http base path, e.g. http://contenido.org/
* @access public
* @return void
* @author Rudi Bieller
*/
public function setHttpBasePath($sBasePath) {
$this->sHttpBasePath = (string) $sBasePath;
}
/**
* Return http base path, e.g. http://contenido.org/
* @return string
*/
public function getHttpBasePath() {
return $this->sHttpBasePath;
}
/**
* Builds a URL in index-a-1.html style.
* Index keys of $aParams will be used as "a", corresponding values as "1" in this sample.
*
* @param array $aParams
* @param boolean $bUseAbsolutePath
* @param string $sSeparator
* @return void
* @throws InvalidArgumentException
* @author Rudi Bieller
*/
abstract public function buildUrl(array $aParams, $bUseAbsolutePath = false);
/**
* Return built URL
* @access public
* @return string
* @author Rudi Bieller
*/
public function getUrl() {
return (string) $this->sUrl;
}
}
?>