gpt4 book ai didi

php - 忘记后期静态绑定(bind),我需要后期静态 __FILE__

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:13 25 4
gpt4 key购买 nike

我正在寻找 __FILE__get_called_class() 等价物……也许像 get_included_file()

我有一组类想知道它们存在于哪个目录中。像这样:

<?php

class A {

protected $baseDir;

public function __construct() {
$this->baseDir = dirname(__FILE__);
}

public function getBaseDir() {
return $this->baseDir;
}
}

?>

在其他文件中,在其他文件夹中...

<?php

class B extends A {
// ...
}

class C extends B {
// ...
}

$a = new A;
echo $a->getBaseDir();

$b = new B;
echo $b->getBaseDir();

$c = new C;
echo $c->getBaseDir();

// Annnd... all three return the same base directory.

?>

现在,我可以做一些贫民窟的事情,比如将 $this->baseDir = dirname(__FILE__) 添加到每个扩展类,但这似乎有点......贫民窟。毕竟,我们谈论的是 PHP 5.3,对吗?这不应该是 future 吗?

是否有另一种方法可以获取声明类的文件的路径?

最佳答案

关于php - 忘记后期静态绑定(bind),我需要后期静态 __FILE__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com