Permalänk
Medlem

[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!

Permalänk
Medlem

$this->cn = isset($user["cn"][0]) ? $user["cn"][0] : "";

http://www.php.net/manual/en/language.oop5.basic.php

Permalänk
Medlem
Skrivet av iXam:

$this->cn = isset($user["cn"][0]) ? $user["cn"][0] : "";

http://www.php.net/manual/en/language.oop5.basic.php

Grymt, tackar! Jag försökte tidigare men med this->$cn. Har inte hållt på med klasser sen C++en i gymnasiet.

Heders!