Avatar billede tigertool Nybegynder
28. september 2006 - 10:50 Der er 8 kommentarer og
2 løsninger

Override function

Hej,

Hvis jeg har en function, f.eks.:

function Dummy()
{
    return null;
}

kan jeg så længere nede i mit kode overskrive denne således at jeg får en ny function f.eks.:

function Dummy()
{
    return 3.141592654;
}

I givet fald hvordan kodes dette?
Avatar billede coderdk Praktikant
28. september 2006 - 11:19 #1
Nej, du kan ikke redeklarere en funktion
Avatar billede coderdk Praktikant
28. september 2006 - 11:19 #2
(Hvorfor vil du det?)
Avatar billede tigertool Nybegynder
28. september 2006 - 11:24 #3
Ok - jeg tænkte det nok.
Det er fordi jeg har en lang liste af funktioner som jeg implementere i det meste jeg laver. Men nu er jeg kommet i en situation hvor den ene funktion er anderledes i et enkelt script - så der ville det jo være smart hvis jeg bare lige kunne overskrive denne :)
Avatar billede tigertool Nybegynder
28. september 2006 - 11:25 #4
coderdk -> smid et svar :)
Avatar billede hmm10 Nybegynder
28. september 2006 - 11:27 #5
function Dummy($condition = false)
{
  if($condition) return 3.141592654;  // kunne man ikke blot sige (22/7)?
  else return null;
}

"print Dummy(true);"  = 3.14..
"print Dummy(false);" eller blot "print Dummy();" = null
Avatar billede coderdk Praktikant
28. september 2006 - 12:11 #6
Ja, det ville være en idé - alternativt lave klasser :)

    class Hest
    {
        function Dummy()
        {
            return "Vrinsk<br>";
        }
       
        function Hej()
        {
            return "Goddag!<br>";
        }
    }

    class Hingst extends Hest
    {
        function Dummy()
        {
            return "Yeah, baby, yeah!<br>";
        }
    }
   
    $hest = new Hest;
    echo $hest->Dummy();
    echo $hest->Hej();
   
    $hingst = new Hingst();
    echo $hingst->Dummy();
    echo $hingst->Hej();

Giver:

Vrinsk
Goddag!
Yeah, baby, yeah!
Goddag!
Avatar billede coderdk Praktikant
28. september 2006 - 12:11 #7
Synes hmm10 skal have point også! :) Smid et svar hmm10!
Avatar billede hmm10 Nybegynder
28. september 2006 - 12:30 #8
Her er et svar, hvis det kan bruges.

Hvis du laver function'en dirrekte i scriptet -- og har forskellige input til function'en, kun du benytte:
http://dk2.php.net/manual/da/function.create-function.php
Avatar billede hmm10 Nybegynder
28. september 2006 - 12:45 #9
svaret er her ;)
Avatar billede tigertool Nybegynder
28. september 2006 - 13:35 #10
Ok :)
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