Pole objektu a pristup k jeho metodam – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pole objektu a pristup k jeho metodam – PHP – Fórum – Programujte.comPole objektu a pristup k jeho metodam – PHP – Fórum – Programujte.com

 

9. 8. 2009   #1
-
0
-

Vytvoril jsem si pole objektu pomoci kodu jako je tento



class mojeTrida {
mojeTrida($param) {}
metoda1(){}
metoda2(){}
}

$pole = array();
$pole[$id] = new mojeTrida($param);


takze mam pole kde kazdy jeho prvek je vlastne objektem... problem nastava, kdyz chci pritupovat k metodam objektu
$pole[$id]->metoda1();

vraci chybu
Fatal error: Call to a member function get_name() on a non-object...

Poradi nekdo?

Nahlásit jako SPAM
IP: 195.212.29.–
KIIV
~ Moderátor
+43
God of flame
9. 8. 2009   #2
-
0
-

zkusil sem udelat jen nejakou jednoduchou tridu a funguje to dobre...
nechmatas tim indexem pole nekam, kde opravdu zadny objekt neni ulozen?
napriklad udelas pole 0 az 10 a pak volas metodu na prvku 11 ?

  class test {

public $x;
function __construct($param) { $this->x = $param; }
function show() { echo $this->x."\n"; }
}

$ar = array();
for ( $i = 0 ; $i<20; $i++ ) {
$ar[$i] = new test($i);
}

for ( $i = 0 ; $i<20; $i++ ) {
$ar[$i]->show();
}


Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
9. 8. 2009   #3
-
0
-

v tom problem nebude... nacitam ty indexy z databaze a v druhem (neobjektovem) kodu mi to funguje...

navic dale v kodu prochazim pole pres foreach a tam to taky nefunguje...

Nahlásit jako SPAM
IP: 195.212.29.–
z_moravec
~ Redaktor
+3
Posthunter
9. 8. 2009   #4
-
0
-

Zkus zavolat tu metodu bez použití pole. IMHO bude problém někde uvnitř té třídy.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV
~ Moderátor
+43
God of flame
9. 8. 2009   #5
-
0
-

tak delej podrobnej vypis... echo $id; print_r($pole[$id]); pripadne print_r($pole)
ono se na neco prijde

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
9. 8. 2009   #6
-
0
-

tak jsem zjistil, ze problem je pri volani te metody z tela jine fce...

ted jen zajistit aby to pole promenych bylo pristupne i ze vsech fci...


edit:
tak global uz muj problem vyresil

diky vsem za pomoc

Nahlásit jako SPAM
IP: 195.212.29.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 33 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý