robgar Skrevet 14. november 2004 Del Skrevet 14. november 2004 Hvordan kaller man opp en 'function' inne i klassen, med verdier som også er 'klasselige'? Jeg prøvde denne: $var = $this->funksjonsnavn($this->var1, $this->var2); men det så ut til å stoppe skriptet. Er det nødvendig å ha funksjonen i kronologisk rekefølge og ? (har det i mitt eksempel). Lenke til kommentar
Beisfjord Skrevet 15. november 2004 Del Skrevet 15. november 2004 Det du beskriver skal fungere helt greit, forutsatt at det du prøver å gjøre er å kalle opp en av klassen sine funksjoner inne i klassen selv, så jeg tror du bør se etter feilen et annet sted. Eventuelt så hadde det vært lettere å se hva som kunne vært problemetet hvis du postet hele klassen her. Hva mener du med å ha funksjonen i kronologisk rekkefølge? Lenke til kommentar
robgar Skrevet 15. november 2004 Forfatter Del Skrevet 15. november 2004 Hva mener du med å ha funksjonen i kronologisk rekkefølge? Funksjon en() {kall opp funksjon to(); } Funksjon to() { gjør masse rart. } Det viste seg at det var noe annet ja, jeg har to klasser som skulle kobles sammen og funksjon (2) skulle bruke den andre klassen som lå i et annet dokument. Den andre var en database klasse. Så jeg inkluderte det dokumentet og lagde et objekt ut av det, men det virket ikke helt. (å bruke det objektet i klasse 2). Derfor Tenkte jeg at klasse 2 skulle få en far, (Class 2 extends class1). Og brukte som sagt $this->funksjonsnavn, istedenfor $obj->funksjonsnavn. Feilen viste seg å være funksjonene query og fetch i db klassen, så når jeg kalte de opp, stoppet skriptet. function query($query) { if ($data = mysql_query($query)) { return $data; $this->query_count++; } else { return false; } if($_GET['debug']) { print "<div id=\"debug\"> ".$query."</div>"; } } function fetch($query) { if ($data = mysql_fetch_object($query)) { return $data; } else { return false; } } Hva er galt i de to? Lenke til kommentar
Ernie Skrevet 15. november 2004 Del Skrevet 15. november 2004 (endret) function query($query) { if ($data = mysql_query($query)) { return $data; $this->query_count++; } else { return false; } if($_GET['debug']) { print "<div id=\"debug\"> ".$query."</div>"; } } function fetch($query) { if ($data = mysql_fetch_object($query)) { return $data; } else { return false; } } Hva er galt i de to? Uten å ha testet det fult ut antar jeg at return gjør at man "hopper ut" av funsjonen Edit: bare skrev noe raskt her, bare for å illusterer det jeg mener: <?php function test() { if (1 == 1) { return 1; echo "Det stemmer"; } echo "Kommer dette med?"; } echo test(); ?> Output vil være "1", hadde jeg byttet om på echo og return i if-settningen ville det blitt "Det stemmer1" Endret 15. november 2004 av Ernie. Lenke til kommentar
robgar Skrevet 19. november 2004 Forfatter Del Skrevet 19. november 2004 Så da blir det ; function query($query) { if ($data = mysql_query($query)) { $return = $data; $this->query_count++; } else { $return = false; } if($_GET['debug']) { print "<div id=\"debug\"> ".$query."</div>"; } return $return; // på slutten } function fetch($query) { if ($data = mysql_fetch_object($query)) { return = $data; } else { return false; } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå