2

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

import someModule
from anotherModule import someClass

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

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

namespace myNamespace;

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

use myNamespace;

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

4

1 回答 1

2

php中的使用功能与python中的导入完全不同。

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

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/

于 2013-08-26T12:55:11.823 回答