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)
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)
Gets the url string from parameters
$pDest (string) : the module|dest|action string
$pParams (array) : an associative array with the parameters
$pForXML (boolean) : the string has to be for html
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 multiples occurences des underscore en de simples underscores
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
- La balise {copixurl}
- CopixRequest Pour récupérer les paramètres envoyés au script
- Comprendre la forme des URL
- Trigramme module group action pour décrire les URL

