02. marts 2003 - 15:02Der er
10 kommentarer og 1 løsning
Overskrive tidligere funktion
Er det muligt at overskrive en funktion, der tidligere deklareret? Jeg tænker om der findes en metode, hvor man kan "slette" en funktion, før man deklarerer en ny?
Fx. function f() {echo "hej";} [kode der sletter funktionen 'f'] function f() {echo "Hi";}
I de fleste programmeringssprog kan man overloade funktioner, men jeg har aldrig hørt at man skulle kunne de-erklære en funktion. Hvis du nu smidder koden her kunne det være man kunne finde en omvej.
Problemet er, at jeg har en funktion der bliver kaldt og defineret i en fil jeg inkluderer. Filen jeg inkluderer, kan jeg ikke ændre i, og derfor må jeg lave en ny udgave af funktionen, hvis jeg vil ændre på resultatet af funktionen. Men her får jeg fejlbedsked, da man ikke kan re-declare en funktion.
Jeg overvejede så, om der fandtes en funktion ala "unset()" bare til funktioner.
Problemet er rettere: Jeg henter et stort funktionsbibliotek ind i hovedfilen, og har brug for at ændre måden en af funktionerne opfører sig på. Men uden at ændre i funktionsbiblioteket.
Det er svært at komme med et bud på hvordan det kan gøres uden at se koden for de egentlige funktioner, men jeg vil stadig mene at du næsten er nødt til at overloade den aktuelle funktion.
Jeg har ikke læst PHP dokumentationen igennem (2000 sider!:), så jeg skal ikke kunne sige om der findes det du søger, men jeg har i hvert fald aldrig hørt om det.
Nå, det lader til, at det ikke er muligt. Barra, lægger du et svar, så deler jeg point mellem dig og abpdk.
Synes godt om
Ny brugerNybegynder
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.