Avatar billede expnet Seniormester
07. januar 2012 - 01:43 Der er 7 kommentarer og
1 løsning

Find class som indholder function

Hej exp

ved at jeg bruger denne funktion get_defined_functions()

kan jeg finde mine function

-------------------------------

Kan man på nogle måder finde ens class + function

Eksempel:

class testclass{
  function test1(){
    return 'test1';
  }

  function test2(){
    return 'test2';
  }
}

så den finder testclass + test1 + test2
lidt som get_defined_functions()
Avatar billede arne_v Ekspert
07. januar 2012 - 03:55 #1
get_declared_classes og get_class_methods vil jeg tro!
Avatar billede arne_v Ekspert
07. januar 2012 - 04:05 #2
demo kode:

<?php
function f1() {
}
function f2() {
}

class C1 {
    public function m1() {
    }
    public function m2() {
    }
}
class C2 {
    public function m1() {
    }
    public function m2() {
    }
}


$allf = get_defined_functions();
foreach($allf['internal'] as $f) {
    echo "internal function: $f\r\n";
}
foreach($allf['user'] as $f) {
    echo "user function: $f\r\n";
}

$allc = get_declared_classes();
foreach($allc as $c) {
echo "class: $c\r\n";
    $allm = get_class_methods($c);
    foreach($allm as $m) {
        echo "  method: $m\r\n";
    }
}
?>
Avatar billede expnet Seniormester
07. januar 2012 - 12:49 #3
arne_v -> hade håbet lidt på der fandtes en func. lidt lige som get_defined_function bare til class som kunne finde ens egen class

er der mulighed for at jeg så kan på en eller anden måde åben mine class og liste mine function ud kun

eksempel:

class C1{
  public function m1(){}
}

class C2{
  public function m2(){}
}

#output:

m1
m2

håber det kan forstås.. ellers prøver jeg at omformuler det
Avatar billede arne_v Ekspert
07. januar 2012 - 20:43 #4
Den loesning jeg har skitseret virker helt ligesom get_defined_function bortset fra at den mangler muligheden for at splitte i user og internal.

Og den er der simpelthen ikke. Du kan overveje at lave en liste med internal og ignorere dem (husk at listen afhaenger af loadede extensions).
Avatar billede expnet Seniormester
08. januar 2012 - 14:48 #5
Vil det sige man ikke kan åben eller køre din class og få de function ud på en anden måde uden at bruge det du har lave en demo på
Avatar billede arne_v Ekspert
09. januar 2012 - 02:56 #6
Ikke saa vidt jeg kan se, men det er vel ogsaa lige ud af landevejen at bruge.
Avatar billede expnet Seniormester
13. februar 2012 - 01:01 #7
ligger du et svar arne_v

Jeg lave det sådan at jeg skriver alle mine funktioner ind i et dok bagefter som jeg så kan hente frem og bruge dem
Avatar billede arne_v Ekspert
13. februar 2012 - 01:07 #8
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