Avatar billede hmm10 Nybegynder
17. juli 2008 - 12:19 Der er 8 kommentarer og
1 løsning

Kør "variabel-class" i anden class - igen

Hej herinde - håber at i er friske og at der ikke er gået helt ferie herinde ..

Jeg har to filer - med hver deres classes - med hver deres funktioner. Normalt når jeg henter fra class til class gør jeg således:

codebase::require_file('class2.php');
return class2::main();

Men det kræver, at jeg kender "navnet" på min class ("class2"), når den kaldes.

Kan man lave det dynamisk via en variabel, ala ?:

$class_name = 'class2.php';
codebase::require_file($class_name);
return $class_name::main();
Avatar billede nielle Nybegynder
17. juli 2008 - 12:42 #1
Måske sådan:

return $$class_name::main();
Avatar billede nielle Nybegynder
17. juli 2008 - 12:43 #2
Fungere nok beder uden php-extension:

$class_name = 'class2';
codebase::require_file($class_name . '.php');
return $class_name::main();
Avatar billede nielle Nybegynder
17. juli 2008 - 12:43 #3
... og selvf.:

return $$class_name::main();
Avatar billede hmm10 Nybegynder
17. juli 2008 - 13:05 #4
nielle: selv. skal ".php" ikke være i selve classens navn - gik vist lidt hurtigt da jeg skrev mit spørgsmål.. min fejl :)

Dit $$ trick giver denne:

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /usr/home/class1.php on line 131
Avatar billede nielle Nybegynder
17. juli 2008 - 19:05 #5
Svært at sige hvilket sprog serveren er sat op til der :^)

Prøv med dette:

return $${class_name}::main();
Avatar billede hmm10 Nybegynder
19. juli 2008 - 20:07 #6
nielle: sprog? det er vist en php5, hvis det er det som du mener - ellers hvordan ser jeg hvilket sprog serveren er sat op til?

Stadig intet held med "return $${class_name}::main();"  :(
Avatar billede nielle Nybegynder
20. juli 2008 - 12:40 #7
Det var såmæn bare fejlbeskeden: T_PAAMAYIM_NEKUDOTAYIM

Hverken dansk eller engelsk.
Avatar billede hmm10 Nybegynder
03. januar 2009 - 17:04 #8
Avatar billede jensgram Nybegynder
03. januar 2009 - 17:24 #9
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