PHP dosyasının yerini, çalışma zamanında değerlendirmek mümkün mü? Sihirli sabit __DIR__
benzer bir şey arıyorum, ancak çalışma zamanında, geç bağlama olarak değerlendirildi. self
ve static
ile Benzer farkı:PHP __DIR__ çalışma süresini değerlendirdi (geç bağlama)?
__DIR__ ~ self
??? ~ static
Amacım her mirasçı sınıf için ayrı ayrı değerlendirilecektir __DIR__
kullanarak, soyut bir sınıfta bir yöntemi tanımlar. Örnek:
abstract class Parent {
protected function getDir() {
// return __DIR__; // does not work
return <<I need this>>; //
}
}
class Heir extends Parent {
public function doSomething() {
$heirDirectory = $this->getDir();
doStuff($heirDirectory);
}
}
Açıkçası, bu sorun yalnızca Parent
ve Heir
farklı dizinlere içindedir oluşur. Lütfen, bunu hesaba kat. Ayrıca, çeşitli varisi sınıflarında defalarca getDir
tanımlayan olmak ve seçenek görünmüyor biz miras neden bu
Bu harika ... Başka bir şey, insanlar? Temizleyici daha iyi tasarlar. –
Ayrıca, ReflectionObject: 'return dirname (new \ ReflectionObject ($ this)) -> getFileName()); –