是否可以通过命名空间查找类文件的位置?

时间:2013-04-03 10:30:16

标签: php codeigniter

我最近在使用pyroCms。这真是一个不错的CMS。但我看到一个文件使用了php的命名空间。

<?php

use Capsule\Schema;

/**
 * Blog module
 *
 * @author  PyroCMS Dev Team
 * @package PyroCMS\Core\Modules\Blog
 */
class Module_Blog extends Module
{
}

所以,现在我想找到Schema类文件的位置。我怎么能这样做?我读了php的类文档。但没有得到任何帮助。

还有其他方法或技巧吗?

1 个答案:

答案 0 :(得分:5)

如果您设置了自动加载功能:

$r = new ReflectionClass('Capsule\Schema');
echo $r->getFileName();

通常,命名空间和类名称应与目录和文件名密切对应(尽管它们不必)。一个不错的编辑器/ IDE也应该使全局搜索变得容易,最坏的情况是正则表达式搜索“class\s+Schema”。