我可以通过传递类路径而不是类名来获取Reflection数据吗?

时间:2012-02-25 15:20:00

标签: php reflection

我正在创建自己的类自动加载器,并且正在从结果中构建一个数组。

我的一个数组我希望它看起来像

$classes['myTestClass'] = ./classes/myTestClass.class.php

我可以构建这个数组,但我不能做的是设置正在加载的类的实际类名作为路径的键。

这是构建我的数组的foreach循环

foreach ($classIterator as $file) {

    if ($this->_searchFilter($file))
        $this->classes[] = $file->getPathname();
}

$file->getPathname()具有类文件的绝对路径required,如何从该文件中获取类名?

1 个答案:

答案 0 :(得分:0)

如果您使用命名约定,/classes/myTestClass.class.php声明myTestClass,那么简单的str_replace就足够了:

foreach ($classIterator as $file) {

    if ($this->_searchFilter($file))
        $classPath = $file->getPathname();
        $className = str_replace('.class.php', '', basename($classPath));
        $this->classes[$className] = $classPath;
}
相关问题