paraméter átadás objektumok között
Sziasztok!
Az a gondom, hogy fejlesztettem magamnak egy új OO adminoldalt (a régi nem volt az). Na már most localhoston (php5) minden szép és jó, de a szerveren csak php4.3x van és ott nem jó.
Van egy form objektumom, ami tárolja a form_elementeket és ha kiadok egy setValues utasítást a formnak akkor az meghívja a form_elementek setValue() tagfüggvényét. A gond az, hogy úgy vettem észre, hogy nem értéket ad át, hanem gondolom pointert, mert függvény végén lekérdezve még jó választ ad a '$element->getValue()'. Az lenne a kérdés, hogy ezt hogy lehet/kell szépen megoldani?
Ez lenne a kérdéses kód:Előre is köszönöm a segítségeteket!
■ Az a gondom, hogy fejlesztettem magamnak egy új OO adminoldalt (a régi nem volt az). Na már most localhoston (php5) minden szép és jó, de a szerveren csak php4.3x van és ott nem jó.
Van egy form objektumom, ami tárolja a form_elementeket és ha kiadok egy setValues utasítást a formnak akkor az meghívja a form_elementek setValue() tagfüggvényét. A gond az, hogy úgy vettem észre, hogy nem értéket ad át, hanem gondolom pointert, mert függvény végén lekérdezve még jó választ ad a '$element->getValue()'. Az lenne a kérdés, hogy ezt hogy lehet/kell szépen megoldani?
Ez lenne a kérdéses kód:
<?php
function setValues($array = array()) {
if ($this->edit > 0) {
$query = "SELECT * FROM ".$this->sql_table." WHERE id=".$this->edit;
$result = mysql_query($query);
$row = mysql_fetch_array($result);
}
foreach ($this->elements as $element){
$col = $element->getSQLCol();
if (isset($array[$col])) $setValue = $array[$col];
else if (isset($row[$col])) $setValue = $row[$col];
$element->setValue($setValue);
}
}
?>
tömböknél
A kulccsal együtt megteheted egyszerűen, pl.:
üdv
BL
nem voltam elég precíz
Még érdekesebb (azóta kipróbáltam), hogy ha nem változót akarok átadni, hanem egy sima sztringet, akkor is "elfelejti" az objektumom az értékét! Én nem értem, de amilyen elterjedt még mindig a php4, biztos, hogy ti már 1000x megoldottátok ezt a gondot...
& hiányzik valahol
Köszönöm!