tags:

views:

49

answers:

2

Beginner question.

How do I substitute:

$_SESSION['personID'] for {personID} in the following:

public static $people_address = "/v1/People/{personID}/Addresses"
+4  A: 

look this:

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

echo $people_address;

output:

/v1/People/someID/Addresses
inakiabt
OK, this makes sense now and works, thank you!
motboys
So accept my answer :)
inakiabt
A: 

EDIT: This answer no longer applies to the question after edit but I'm leaving it around for a little while to explain some questions that occured in comments another answer to this question

There are a few ways - the . operator is probably the easiest to understand, its entire purpose is to concatenate strings.

public static $people_address = "/v1/People/".$_SESSION['personID']."/Addresses"; 
//PHP Parse error:  syntax error, unexpected '.', expecting ',' or ';' 

public static $people_address = "/v1/People/$_SESSION[personID]/Addresses";
//PHP Parse error:  syntax error, unexpected '"' in

However you can't use concatenation in property declarations sadly - just simple assignment. You cant use the "string replacement" format either:

To work around it you could assign the static outside of the class - i.e.:

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();
gnarf