Avatar billede miqe Nybegynder
24. marts 2008 - 18:10 Der er 3 kommentarer og
1 løsning

Instans forsvinder efter kald af metode

Hej Eksperter

Jeg har et særdeles underligt problem.
Jeg har en instans af en class der forsvinder efter kald af en af dennes metoder.
Burger PHP Version 5.2.2

De 2 IF sætninger er ens. Efter den første er kaldt forsvinder instansen og den anden fremprovokerer følgende fejlmeddelelse:
Fatal error: Call to a member function setLang() on a non-object in ...

$lang = new lang;
$nav = new nav;
if(!$lang->setLang($nav->getVar('lang')))
    $nav->doPageUpdate = true;
// fejl opstår herefter
if(!$lang->setLang($nav->getVar('lang')))
    $nav->doPageUpdate = true;

Jeg har i test øjemed sat setLang() til bare at returnere true. Der sker med andre ord ikke noget i selve metoden.
Der er ingen problemer med min $nav. Den returnere det den skal.

Nogen der ligger inde med en logisk forklaring?
På dette sted i koden har jeg i praksis allerede kaldt metoder i andre classer på samme måde, uden problemer.
Avatar billede miqe Nybegynder
24. marts 2008 - 18:14 #1
Skal nævnes at koden der skaber problemer har virket på et andet webhotel. Ikke samme PHP Version.
Avatar billede erikjacobsen Ekspert
24. marts 2008 - 18:19 #2
Der sker nok noget sjovt i dine metoder ...
Avatar billede jakobdo Ekspert
24. marts 2008 - 19:11 #3
Prøv at se hvad du får retur fra:
$nav->getVar('lang');
Avatar billede miqe Nybegynder
20. april 2008 - 17:31 #4
Det lykkedes mig aldrig at få det til at svinge.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester