小编bob*_*cow的帖子

忘记后期静态绑定,我需要后期静态__FILE__

我正在寻找get_called_class()相当于__FILE__......也许是类似的东西get_included_file()

我有一组类,想知道它们存在于哪个目录中.这样的东西:

<?php

class A {

    protected $baseDir;

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

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

?>
Run Code Online (Sandbox Code Playgroud)

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

<?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.

?>
Run Code Online (Sandbox Code Playgroud)

现在,我可以做一些贫民窟,比如增加$this->baseDir = …

php inheritance late-static-binding php-5.3

4
推荐指数
2
解决办法
1047
查看次数

标签 统计

inheritance ×1

late-static-binding ×1

php ×1

php-5.3 ×1