这是我手头目前所拥有的:
//Person.php
namespace Entity;
class Person{
}
用户文件:
//User.php
use Entity\Person;
$person = new Person;
如果我不包括Person.php
文件,它会失败。如果我包含它,一切都很好。即使使用命名空间,我是否绝对需要包含该文件?如果我们需要包含/要求文件,那么如何有效地使用命名空间?还有,我们可以通过嵌套命名空间来维护文件夹结构吗?
这是我手头目前所拥有的:
//Person.php
namespace Entity;
class Person{
}
用户文件:
//User.php
use Entity\Person;
$person = new Person;
如果我不包括Person.php
文件,它会失败。如果我包含它,一切都很好。即使使用命名空间,我是否绝对需要包含该文件?如果我们需要包含/要求文件,那么如何有效地使用命名空间?还有,我们可以通过嵌套命名空间来维护文件夹结构吗?
Person
的代码必须包含在内,否则该类未定义并且无法使用。当代码没有被包括时,定义应该从哪里来呢?PHP解释器无法猜测类的实现方式。顺便说一下,所有编程语言都是如此。include
或require
语句。是的,您需要包含每个文件。
一个非常好的例子可以在这里找到关于命名空间有效使用的介绍。
在PSR-0自动加载中,命名空间必须与类所在的文件夹相同,文件名必须与类名相同。例如,使用composer可以获得非常简单和有效的自动加载。