Rabbid Skrevet 21. januar 2007 Del Skrevet 21. januar 2007 Har ett problem med en klasse gjennom flere filer (include/require) Strukturen er slik index.php ->functions.inc.php ----function plugin_load ->->template-klasse ->leftmenu.php ---- plugin_load($plugin); Pluginen befinner seg i /plugins/custom/clock/plugin.php. Pluginen lastes fint, det er bare under printing av en template-boks fra klassen at ting skjer feil. Fatal error: Call to a member function lmenu() on a non-object in /var/www/plugins/custom/clock/plugin.php on line 6a Har prøvd å kjøre pluginen direkte fra leftmenu og det går, men det går ikke direkte fra functions. Har prøvd å endre rekkefølgen på include og allting, men ingenting ser ut til å gå. require('config.inc.php'); require('functions.inc.php'); $startpage = new page("styles/".$blogtemplate."/template.myML", TRUE, TRUE, TRUE); include('leftmenu.php');//Her er alle venstrestilte menyer Lenke til kommentar
Ståle Skrevet 21. januar 2007 Del Skrevet 21. januar 2007 Jeg har ikke peil på OOP enda. Men kan det ha noe med at du ikke har erklært den global enda? Lenke til kommentar
DeadMeat Skrevet 21. januar 2007 Del Skrevet 21. januar 2007 (endret) Jeg vet ikke om jeg helt forstaar hva du mener. Du kan nok ikke bruke en klasse som du har laget utenfor en funksjon inni funksjonen, da maa du isaafal ha den med som en parameter. Mulig det gaar hvis fu lager den global. Ett eksempel: class test { public function skrivUtJa() { echo 'ja'; } } $oTest = new test; // Dette funker. $oTest->skrivUtJa(); // Dette funker ikke (tror jeg). function enTest() { $oTest->skrivUtJa(); } enTest(); // Men dette vil nok funke. function enTest($oTestObj) { $oTestObj->skrivUtJa(); } enTest($oTest); Det skal ikke vare noe problem og bruke ett objekt i forskjellige filer. Endret 21. januar 2007 av DeadMeat Lenke til kommentar
Rabbid Skrevet 22. januar 2007 Forfatter Del Skrevet 22. januar 2007 Tenkte meg fram til det ja, feilen var jo at jeg ikke kunne bruke klassen inne i funksjonen plugin_load. Løste problemet med å returnere filnavnet til filen som skulle inkluderes til leftmenu.php. leftmenu.php stod senere selv for inkludering, da funket alt knall og pluginsene mine dukket opp. 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å