Oramai da tempo attuo questa strategia
Ogni link lo creo in questo modo
Codice PHP:
[url="<?php crealink($base,$params) ?>"]Link[/url]
Mentre la funzione crealink è
Codice PHP:
function crealink($base,$params)
{
global $linkconfig;
$querystring = "";
foreach($params as $key=>$value)
$querystring = "$key=$value&";
// eventuali aggiunte costanti
if($querystring != "")
{
$querystring = "?".substr($querystring,0,strlen($queyrstring)-1); // per l'ultimo "&" orfano
}
return $linkconfig[$base].$querystring;
}
($linkconfig è un array globale di configurazione che associa "chiave" al relativo "link", in modo che possa alterare la struttura dell'applicazione (Spostando pagine o cambiando nomi).
In questo modo, se ho bisogno ad esempio di passare SEMPRE una determinata variabile get tra tutti i link basta mettere al posto del commento senza subire troppi contraccolpi
Codice PHP:
if(isset($_GET["variabile"]))
$querystring .= "variabile=".$_GET["variabile"]."&";
La funzione in realtà è leggermente più complessa (con un terzo parametro array che mi serve ad altre cosette) ma in generale il meccanismo è questo: creare tutti i link in un unica funzione che poi gestisco autonomamente e mi consente di limitare gli interventi in caso di "alterazione" dei path o altre robe del genere