Başka bir dosyadan bir dosya adı çözümlemek

2 Cevap php

Ben şu şu anda yapabilirsiniz:

class SubClass extends SuperClass {
  function __construct() {
    parent::__construct();
  }
}

class SuperClass {
  function __construct() {
    // this echoes "I'm SubClass and I'm extending SuperClass"
    echo 'I\'m '.get_class($this).' and I\'m extending '.__CLASS__;
  }
}

Ben dosya ile benzer bir şey yapmak ister (__FILE__, ancak dinamik olarak değerlendirilir) olurdu; Ben alt sınıf üst sınıftan, içinde bulunduğu dosya bilmek istiyorum. Herhangi zarif bir şekilde mümkün mü?

Ben çok sayıda örnekleri var, özellikle eğer, ben size get_included_files() ile bir şeyler yapabileceğini biliyorum, ama bu çok da etkili değil.

2 Cevap

Sen Yansıma kullanabilirsiniz.

$ref = new ReflectionObject($this);
$ref->getFileName(); // return the file where the object's class was declared

Ah, gerçekten, aklıma değil. Her alt sınıf, tamamen ilk etapta miras noktası yendi __FILE__ döndürdü açıkça uygulanan yöntem olması gerekir.

Ben de böyle bir şey yararlı olacağını neden olarak gerçekten merak ediyorum.