Avatar billede fizk Nybegynder
20. april 2008 - 21:23 Der er 6 kommentarer og
1 løsning

Dynamisk metode kald?

Jeg sidder lige og bikser med nogle ting. For nemhedens skyld, har jeg lavet en klasse til at styre mine ting med. Det drejer sig om noget sql, der skal fyres af, så jeg har metoder til at indsætte, opdatere og slette.

Sagen er, som vi alle nok ved, at når man submit'er sin form, så bliver jeg nød til at have en side pr. action, med kun to linjer kode. En linje til at lave objektet og en linje til at kalde metoden. Enten dét eller en masse if/else.

Spørgsmålet er, om jeg ikke kan gøre et eller andet smart, så jeg kan lave den dynamisk, så jeg bare kan fodre siden med en tekststreng for at kalde de metoder lidt mere dynamisk?

eksempelvis;
function largh($input){echo $input}

$tekst = "largh";
$tekst("noget");
Avatar billede erikjacobsen Ekspert
20. april 2008 - 21:34 #1
Præcis som du skriver:

<?php

function ko($s) {
  print "ko: $s\n";
}

$funktion = "ko";
$funktion("kalv");

?>
Avatar billede erikjacobsen Ekspert
20. april 2008 - 21:36 #2
Avatar billede fizk Nybegynder
20. april 2008 - 21:46 #3
Nej nu... Det var da lige godt sat***
Det var da helt fantastisk. Ok fair nok - vi kender vel alle det, at noget er så simpelt at man ikke tror det virker.
Nå ja, så lærte jeg også det :D
Tak for hjælpen, det var lige det jeg ledte efter! Bare læg et svar ^^
Avatar billede erikjacobsen Ekspert
20. april 2008 - 21:52 #4
Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.

Men en lille advarsel - hvis navnet på funktionen kommer med fra formen i et felt eller i querystring, så har du åbnet et hul til hacking --- hvis altså det er hvad du laver ...
Avatar billede fizk Nybegynder
20. april 2008 - 21:58 #5
Jah, det er selvf. rigtigt nok, men det er noget jeg laver for min moster, der bare skal have en lille side til at præsentere sig selv, så jeg tænkte at der nok ikke ville ske noget ved det, når det kun er én person der skal have adgang til det - tror ikke hun begynder at lege rundt med den slags :)

Men jeg kan da se på det hele at jeg skal til at have gang i noget method overloading, da det ellers ikke kommer til at gå op med antallet af argumenter i mine metodekald ^^
Avatar billede erikjacobsen Ekspert
20. april 2008 - 22:23 #6
På en administrationsside kan det måske forsvares, ja. Husk at snuppe dine egne point.
Avatar billede fizk Nybegynder
21. april 2008 - 00:45 #7
Hermed gjort :)
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