25. juni 2007 - 17:56Der er
10 kommentarer og 1 løsning
kald function med args fra array
Hejsa ..
jeg sidder og leger lidt med et par scripts.. sidder og leger lidt med __call ( $name ,$args ) magic i php5
nu er det sådan at jeg gerne vil sende den hen til lad os sige
myMethod( $args )..
når jeg kalder en ukendt funktion i min klasse. men problemmet er at
class test { function __call ( $name , $args ) { myMethod( $args ); } }
kun smider mine args afsted som et argument, som en array der indeholder alle de andre argument værdier sendt til min __call()
vil gerne have den deler dem op og sender dem afsted som de blev kaldt.
så
ukendt( "hej", "med", "dig" );
bliver til
myMethod( "hej", "med", "dig" );
har prøvet lidt med myMethod( implode ( "," , $args ) ) ; uden held..
kan det jeg ønsker overhovedet lade sig gøre.. ?? og da mit script kan kalde forskellige funktioner så kan jeg heller ikke bare lave en myMethod( $args[0], $args[1], $args[2] );
og håber heller ikke jeg bliver nød til at hive mine dataer ud i myMethod() fra den ene array den sender :)
ja det er jeg helt med på at man self kan .. men ville hører om andet kunne lade sig gøre ? om der var en smart måde at smide dem videre på samme måde ?
Nu skyder jeg måske helt ved siden af. Men hvad er forskellen på call_user_func_array() og så: $myMethod($args) { echo "***DEBUGGING\nVARIABLE: $var\nVALUE:"; if (is_array($args) || is_object($args) || is_resource($args)) { print_r($args); } else { echo "\n$args\n"; } echo "***\n"; }
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.