Autor | Zpráva | ||
---|---|---|---|
matak Profil |
#1 · Zasláno: 13. 4. 2006, 18:47:25
Trošku jsem se zasek v OOP, zas tak do toho moc nevidim volám takhle proceduru:
$this->a = "tu potrebuji zmenit"; $this->text = new Text(); $this->text->print() a uvnitř procedury print bych potřeboval změnit proměnnou "$this->a" ta ovšem náleží třídě ve které je založena instance Text() |
||
WanTo Profil |
#2 · Zasláno: 13. 4. 2006, 18:50:33
Proměnnou, která má a, předej metodě print odkazem:
$this->text->print(&$this); |
||
matak Profil |
#3 · Zasláno: 13. 4. 2006, 18:51:37
jj díky moc, a co prosimtě znamená ten "&"?
a jinak to asi nejde, že?co kdyz dopredu nevím kterou změnit? |
||
WanTo Profil |
#4 · Zasláno: 13. 4. 2006, 18:53:47
matak
& znamená, že proměnnou předáš odkazem. Alespoň doufám :-) |
||
matak Profil |
#5 · Zasláno: 13. 4. 2006, 18:55:35
odkazem?sory asi sem blbej nebo mi to nemyslí, sedím už u toho dlouho.
problém mám také v tom, že těch proměnných je hodně a také se skládájí ze stringů, tedy dopředu nevím která to bude a navíc to jde přes několik tříd |
||
Hugo Profil |
#6 · Zasláno: 13. 4. 2006, 18:56:24
matak
Nepředáváš hodnotu proměnné, ale odkaz na místo v paměti, kde je uložená. Víc najdeš v manuálu. |
||
medden Profil * |
#7 · Zasláno: 13. 4. 2006, 22:53:59
Ono by to skôr chcelo v konštruktore triedy Text dať, že sa to má predávať cez referencie, lebo inak pri vypnutom allow_call_time_pass_reference bude php nariekať.
http://sk2.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-ref erence Referencie: http://sk2.php.net/manual/en/language.references.php |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0