php文件如何在其他php文件中找到命名空间?

时间:2013-08-26 12:39:51

标签: php python import namespaces

来自Python我试图理解php使用命名空间的方式。在Python中,我只需导入如下:

import someModule
from anotherModule import someClass

这就像一个魅力,就像任何人都期望的那样。

另一方面,在php中,我们有类似命名空间的东西。据我所知,我可以在myModule.php的顶部定义一个命名空间,如下所示:

namespace myNamespace;

如果我是正确的,这意味着此文件中的代码可以通过这样做在另一个myWorkingCode.php中被称为(或由其导入)名称“myNamespace”:

use myNamespace;

所以我的问题; myWorkingCode.php如何找到myModule.php?它是否需要在同一个文件夹中才能工作或者我还需要做其他事情吗?

1 个答案:

答案 0 :(得分:2)

php中的use函数完全不同于python中的import。

用于为非常长的命名空间创建别名。例如:

use \My\Very\Long\Omg\Its\Sooooo\Long\How\Stupid as veryshort;

现在,在命名空间veryshort下可以使用该长命名空间中的每个类。更多信息:http://php.net/manual/en/language.namespaces.importing.php

然后,php如何找到正确的文件?它没有。您必须自己包含它,但是如果您对文件使用强命名约定,则可以使用具有spl_autoload_register功能的自动加载器。可在此处找到一个好的标准:http://www.php-fig.org/psr/0/