2009-08-13 12 views
0

Question débutant.Syntaxe correcte pour la substitution en php?

Comment puis-je remplacer par:

$_SESSION['personID'] pour {personID} dans les domaines suivants:

public static $people_address = "/v1/People/{personID}/Addresses" 
+0

Le titre dit concaténer, la question précise substitue (comme str_replace) , que cherchez-vous? – gnarf

+0

Désolé, probablement substitut aurait été mieux dans le titre. – pgtips

Répondre

4

regard ceci:

$template = "/v1/People/{personID}/Addresses"; 
$people_address = str_replace('{personID}', $_SESSION['personID'], $template); 

echo $people_address; 

sortie:

/v1/People/someID/Addresses 
+0

OK, cela a du sens maintenant et fonctionne, merci! – pgtips

0

EDIT: Cette réponse ne s'applique plus à la question après l'édition mais je la laisse pendant un moment pour expliquer quelques questions qui se sont produites dans les commentaires une autre réponse à cette question

Il y a plusieurs manières - la . opérateur est probablement le plus facile à comprendre, son but est de concaténer les chaînes. Cependant, vous ne pouvez malheureusement pas utiliser la concaténation dans les déclarations de propriétés - juste une simple affectation. Vous ne pouvez pas utiliser le format « remplacement de chaîne » soit:

Pour travailler autour d'elle, vous pouvez assigner l'extérieur statique de la classe - à savoir:

class test { 
    public static $people_address; 
    // .... 
} 

// to illustrate how to work around the parse errors - and show the curly braces format 
test::$people_address = "/v1/People/${_SESSION[personID]}/Addresses"; 

// another (much better) option: 
class test2 { 
    public static $people_address; 
    public static function setup() { 
    self::$people_address = "/v1/People/".$_SESSION['personID']."/Addresses"; 
    } 
} 
// somewhere later: 
test2::setup(); 
Questions connexes