Avatar billede djthomas Nybegynder
25. oktober 2004 - 11:14 Der er 5 kommentarer og
1 løsning

function_exists laver underlig fejl

Jeg har lavet dette her.

uddrag fra en class

function print_left_menu(){
    print "Left menu";
   
    return true;
}

og så problemet

Jeg prøver at finde ud af om functionen eksistere sådan her.

if( function_exists( $c->print_left_menu() ) ){
                        print "<td>";
                            print "<div id=\"left_menu\">";
                           
                                print $c->print_left_menu();
                           
                            print "</div>";
                        print "</td>";
                    }

Hvis functionen findes i en class så er der ikke noget problme, men hvis den ikke findes så siger den "Fatal error: Call to undefined function: print_left_menu() "

Nogen der har et bud?
Avatar billede bojo Nybegynder
25. oktober 2004 - 11:18 #1
ren gætteværk, men mon ikke if( function_exists( "\$c->print_left_menu()" ) ){
Avatar billede bojo Nybegynder
25. oktober 2004 - 11:19 #2
eller din_klasse::print_left_menu
Avatar billede Slettet bruger
25. oktober 2004 - 11:24 #3
Det hjælper at læse manualen, så ville du nemlig opdage, at der på siden for function_exists var et link til den korrekte funktion: http://dk.php.net/manual/en/function.method-exists.php

Derudover skulle du have brugt: function_exists( "print_left_menu" ) hvis det havde været en normal funktion, du ville undersøge.

Men da det nu er en metode, skal du bruge:

method_exists($c,"print_left_menu")
Avatar billede djthomas Nybegynder
25. oktober 2004 - 11:27 #4
Sandbox -> man lære jo noget nyt hver dag. Vil det sige at når det er en function jeg selv laver så hedder det bare en method?

Men det virker i hvert fald - svar og du skal få point!
Avatar billede Slettet bruger
25. oktober 2004 - 11:31 #5
Nej, men en funktion i en klasse hedder en metode. Og variablerne i en klasse kaldes egenskaber (eller attributter) - på engelsk properties.
Avatar billede Slettet bruger
25. oktober 2004 - 11:31 #6
svar
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