__FILE__ und Vererbung geht nicht

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • __FILE__ und Vererbung geht nicht

    Hallo liebe Forenteilnehmer,

    ich versuche gerade folgendes:


    PHP Code:
    // vater.php
    class Vater {
        public function 
    action()
        {
            echo 
    __FILE__;
            
        }
    }

    // kind.php
    class Kind extends Vater {
        
    }

    $k = new Kind();
    $k->action();

    // Es wird vater.php ausgegeben 
    Was kann ich machen das bei action() kind.php ausgegeben wird, ohne die Methode neu zu definieren? D.h. einmal in der Oberklasse definiert, kann man den Dateinamen der Kindklasse bekommen.


    MFG

    phpaule

  • #2
    $_SERVER['php_self'] statt __FILE__ benutzen
    Slava
    bituniverse.com

    Comment


    • #3
      dann aber bloß nicht die kind.php includen.

      Comment


      • #4
        @Slava

        Das geht nicht, hab ich schon probiert. Da PHP_SELF immer die Datei ist die beim Aufruf angesprochen wird und in meinem Fall werden die Klassen includiert.

        Also würde dort nicht der Filename der Klasse stehen.

        @TobiaZ
        Aber das Kind ist das wichtigste, von dem will ich ja den Dateinamen

        Comment


        • #5
          Aber das Kind ist das wichtigste, von dem will ich ja den Dateinamen
          Ja, das sagtest du bereits.

          Machs wie in JAVA, die datei nach der Klasse benennen.

          Comment


          • #6
            Mach ich doch

            Das Problem eigentlich ist, ich brauch den Pfad zur Klasse, denn den brauche ich um eine andere Datei automatisch einzubinden.

            Comment


            • #7
              Über Reflection hab ichs auch grad mal probiert. Geht leider auch nicht.

              PHP Code:
                  public function action()
                  {
                      
              $func = new ReflectionClass(__CLASS__);
                      echo 
              $func->getFileName();
                  } 

              Comment


              • #8
                get_class($this) sollte schon gehen. das ".php" musst dir halt dazufälschen.

                grüße
                axo

                Comment


                • #9
                  Axo na dann

                  Comment

                  Working...
                  X