[php] Klasser och referering
Tja!
Jag håller på med ett litet projekt och har stött på problem. Jag vill helt enkelt trycka in en array i en klass-instans men hur jag än försöker så "sparas" inte värdena som jag tilldelar. Jag antar därför att det hela refererar tokigt. Jag har kollat med echos i klassens konstruktor och där ser värdena bra ut, de tilldelas alltså till klassens attribut medans man stannar i konstruktorn.
Klassen
class User
{
private $username = "Anonymous";
private $password = "";
private $groups = Array();
private $cn = "";
private $dn = "";
private $name = "";
private $mail = "";
private $telephone = "";
private $other_telephone = Array();
private $mobile = "";
private $skype = "";
private $department = "";
private $title = "";
public function __construct($user)
{
$cn = isset($user["cn"][0]) ? $user["cn"][0] : "";
$mail = isset($user["mail"][0]) ? $user["mail"][0] : "";
$mobile = isset($user["mobile"][0]) ? $user["mobile"][0] : "";
$ipphone = isset($user["ipphone"][0]) ? $user["ipphone"][0] : "";
$telephonenumber = isset($user["telephonenumber"][0]) ? $user["telephonenumber"][0] : "";
$department = isset($user["department"][0]) ? $user["department"][0] : "";
$title = isset($user["title"][0]) ? $user["title"][0] : "";
}
public function getVar_cn()
{
return $cn;
}
public function setVar_cn()
{
$cn = "lolbai";
}
}
Mitt sätt att skapa objektet och stoppa det i arrayen $userList för att sedan skriva ut det. Förslag på fungerande kod mottages gärna, jag har testat på tusen olika sätt känns det som.
$userList = Array();
echo $userInfo["count"];
//for ($i = 0; $userInfo["count"]; $i++)
$userList = new User($userInfo[0]);
foreach($userList as &$userObject) {
$userObject->setVar_cn();
echo $userObject->getVar_cn();
}
Tack och hej!