Aujourd’hui je vais vous présenter une petite classe que j’ai commencé à créer. Cette classe sert à générer une url du type http://test.fr/index.php?param1=123&param2=AZER…

Pourquoi créer une classe comme ceci ? Et bien pour avoir à éviter de s’embêter à réécrire tout ceci. J’ai préféré faire comme avec l’aide d’action pour les URL. Si on ne passe aucun paramètre, on a l’url actuelle, sinon on a l’url désirée.

Voici le code de cette classe:
/**
* Classe permettant de génerer des Url et de récupérer l'Url courante.
*
* @author Throrin
* @version 0.2
* @copyright Throrïn's Studio
* @license BSD License
*
* @todo
*

    *

  • 0.1 : Création de la classe
  • *

  • 0.2 : Rajout de la fonction Url()
  • *

*
*/
class App_Url_Url
{
private $_baseurl;

public function __construct()
{
$this->_baseurl = $_SERVER["PHP_SELF"];
}

/**
* Permet de créer une adresse formatée.
* @param array $table Un tableau de paramètres.
* @return adresse
*/
public function Url($table = null)
{
if(empty($table))
{
$request_uri = $_SERVER["REQUEST_URI"];
return $request_uri;
}
else
{
$params = '';
$i = 1;
foreach($table as $key => $value)
{
if($i == 1)
{
$params .= '?';
}
$params .= $key.'='.$value;
if($i != count($table))
{
$params .= "&";
}
$i++;
}
return $this->_baseurl.$params;
}
}

public function getBaseurl()
{
return $this->_baseurl;
}
}

Cette classe fait parti d’un petit projet que je me suis lancé. Créer une petite bibliothèque d’applications pas trop lourdes (comparé au framework Zend) mais disposant d’assez d’options pour se révéler très utile.

Si vous souhaitez participer à cela veuillez me contacter depuis la page d’accueil. Si vous redistribuez cette classe, merci de signaler la source.