Présentation

CopixUrl est une classe qui vous permet de générer des urls d'appels au format Copix. Les URL générées prendront en compte :

  • Le mode d'appel (URL Significative ou non);
  • L'url de base de vos scripts (noms de domaine, nom du fichier, mode sécurisé ou non, ....);
  • Les gestionnaires d'url (URLHandler) que vous aurez développé pour personnaliser les appels.

En une ligne, selon la configuration utilisée, cette classe peut générer des chaines de la forme

http(s)://(www.)domaine.ext/chemin/monsite/articles/Un-Article-Interressant.htm ou http(s)://(www.)domaine.ext/chemin/monsite/index.php?module=articles&action=get&id=Un-Article-Interressant

Méthodes de CopixUrl

getRequestedScript ()

Retourne le script demandé, sans les informations infopath ou paramètres de la requête

//Si appelé depuis http://mysite.com/subdir/index.php/mypath/myaction?myparams=myvalues
echo CopixUrl::getRequestedScript ();
//affiche "/subdir/index.php"

getRequestedScriptPath ()

Retourne le chemin du script demandé.

//Si appelé avec http://mysite.com/subdir/index.php/mypath/myaction?myparams=myvalues
echo CopixUrl::getRequestedScriptPath ();
//affiche "/subdir/"

getRequestedScriptName ()

Retourne le nom du script demandé

//Si appelé avec http://mysite.com/subdir/index.php/mypath/myaction?myparams=myvalues
echo CopixUrl::getRequestedScriptName ();
//affiche "index.php"

getRequestedDomain ()

Récupère le nom de domaine du script demandé.

//si appelé avec http://mysite.com/subdir/index.php/mypath/myaction?myparams=myvalues
echo CopixUrl::getRequestedDomain ();
//affiche mysite.com

getRequestedBasePath ()

Récupère le début de l'url

//Si appelé avec http://mysite.com/subdir/index.php/mypath/myaction?myparams=myvalues
echo CopixUrl::getRequestedScriptPath ();
//affiche "mysite.com/subdir/"

getRequestedBaseUrl ()

Récupère le chemin allant jusqu'au script exclus en incluant le protocole utilisé.

//Si appelé avec http://mysite.com/subdir/index.php/mypath/myaction?myparams=myvalues
echo CopixUrl::getRequestedScriptPath ();
//affiche "http://mysite.com/subdir/"

getRequestedProtocol ()

Récupération du protocole (http/https pour le moment)

//Si appelé avec http://www.copix.org
echo CopixUrl::getRequestedProtocol ();
//affiche "http://"

getRequestedPathInfo ()

Récupère le pathinfo

//Si appelé via http://localhost/copix_3/test.php/stuff/stuff2/stuff3?test=simpletest|
echo CopixUrl::getRequestedPathInfo ();
//affiche "/stuff/stuff2/stuff3"

getCurrentUrl ($pForXML = false)

Récupère l'url demandée

$pForXML (boolean) : si l'on génère en XML ou non (& au lieu de &)

getRequestedUrl ($pForXML = false)

Récupère l'url demandée

$pForXML (boolean) : si l'on génère en XML ou non (& au lieu de &)

valueToUrl ($pName, $pValue, $pStartWithAmp = false, $pForXml = false)

Convertit une valeur en sa représentation dans une URL.

Si $pName est null, alors $pValue doit être un tableau associatif avec $pName=>$pValue

$pName (string) : le nom de la variable à convertir

$pValue (string/int/array) : La valeur de la variable $pName

(boolean) : oolean $start

$pForXml (boolean) : Si l'on doit générer l'url pour du XML ou non

appendToUrl ($pUrl, $pParams = array (), $pForXML = false)

Ajoute des paramètres à l'url donnée

Si jamais l'url donnée contient déja les paramètres que l'on a demandé de rajouter, les paramètres donnés remplaçeront les exisant

$pUrl (string) : l'url à qui on veut ajouter des paramètres

$pParams (array) : les paramètres à ajouter à l'url

$pForXML (boolean) : si l'on ajoute à une URL destinée XML ou non

echo CopixUrl::appendToUrl ('http://www.copix.org/index.php?module=test', array ('group'=>'value'));
//affiche http://www.copix.org/index.php?module=test&group=value
echo CopixUrl::appendToUrl ('http://www.copix.org/index.php?group=test', array ('group'=>'value'));
//affiche http://www.copix.org/index.php?group=value

parse ($pUrl, $pFromString = false, $pFromXML = false)

Analyse de la requête donnée et retourne la liste des paramètres envoyés au script

$pUrl (string) : l'url à analyser

$pFromString (boolean) : Indique si la requête est arrivée uniquement sous la forme de chaine (on utilisera pas les variables d'environnement pour l'analyser (_GET, _POST)

$pFromXml (boolean) : Indique si la requête donnée est au format XML (& au lieu de &)

get ($pDest = null, $pParams = array (), $pForXML = false)

Construit l'url en fonction des paramètres passés.

Appelée sans paramètres, la fonction renvoie le chemin vers le fichier index.php (non compris).

Exemple : http://url.du.site/copix/www/

$pDest (string) : la chaine module|dest|action

$pParams (array) : un tableau associatif avec les paramètres

$pForXML (boolean) : indique si l'url est générée pour du html ou pour du xml (dans le cas du HTML, les caractères & sont remplacés par &

escapeSpecialChars ($pString, $pCompressMultipleUnderscores = false)

Supprime les champs spéciaux (irréversible, utilisable a de simples fin de présentation)

$pString (string) : la chaine dont on veut supprimer les caractères spéciaux $pCompressMultipleUnderscores (boolean) (Copix 3.0.3+) : S'il faut remplacer les underscores multiples en simple underscore.

removeParams ($pUrl, $pParams, $pForXML = false)

Supprime de l'url $pUrl les paramètres $pParams

Le paramètre $pForXml est pris en compte à la fois pour l'interprétation de la requête d'origine et à la fois pour la génération. Il n'est pas possible d'avoir un fonctionnement dissocié

$pUrl (string) : url a nettoyer

$pParams (array) : les pièces à supprimer de l'url (array ('param', 'param2', 'param3');

$pForXML (boolean) : si l'on génère une sortie html ou non (& au lieu de &)

extractParams ($pUrl, $pFromXML)

Extrait les paramètres d'une requête $pUrl

$pUrl (string) : l'url à analyser

$pFromXML (boolean) : si l'on analyse une chaine provenant de HTML ou non

getResource ($pResourcePath)

Récupère un chemin de ressource (situé dans www)

Ira chercher dans l'ordre de priorité dans ./nom_theme/lang_COUNTRY/$path ./nom_theme/lang/$path ./nom_theme/$path ./default/lang_COUNTRY/$path ./default/lang/$path ./default/$path ./$path

$resourcePath (string) : le chemin du fichier que l'on souhaites récupérer

//on souhaites récupérer la feuille de style
$path = CopixURL::getRessource ('styles/copix.css');
//$path == http://www.domaine.fr/chemin/vers/le/script/themes/nom_du_theme/styles/copix.css si le fichier existe

getResourcePath ($pResourcePath)

Récupère un chemin de ressource (situé dans www)

Ira chercher dans l'ordre de priorité dans ./nom_theme/lang_COUNTRY/$path ./nom_theme/lang/$path ./nom_theme/$path ./default/lang_COUNTRY/$path ./default/lang/$path ./default/$path ./$path

$resourcePath (string) : le chemin du fichier que l'on souhaites récupérer

//on souhaites récupérer la feuille de style
$path = CopixURL::getRessourcePath ('styles/copix.css');
//$path == /var/www/themes/nom_du_theme/styles/copix.css si le fichier existe

Voir aussi