gpt4 book ai didi

php - 是否需要包含命名空间文件?

转载 作者:行者123 更新时间:2023-12-04 17:06:38 25 4
gpt4 key购买 nike

这是我手头的:

//Person.php
namespace Entity;

class Person{


}

用户文件:
//User.php
use Entity\Person;

$person = new Person;

在这里,如果我不包括 Person.php,它就会失败。文件。如果我包括它,一切正常。即使使用命名空间,我也绝对需要包含该文件吗?如果我们需要包含/要求文件,那么如何有效地使用命名空间?另外,我们可以通过嵌套命名空间来维护文件夹结构吗?

最佳答案

你的问题的答案是“是和否”。

确实是代码实现类Person必须包括在内,否则该类未定义且无法使用。当不包含代码时,定义应该从哪里来? php 解释器无法猜测类的实现。顺便说一下,这在所有编程语言中都是一样的。

然而,有一种叫做 Autoloading 的东西在 php 中。它允许自动包含某些文件。该机制基于类名到文件名的映射。所以最后它归结为 php 搜索文件夹结构以找到一个文件,该文件的名称表明它实现了它执行的代码中当前所需的类。

但是不要误会:这仍然意味着必须包含文件。唯一的区别是:包含是自动完成的,因此无需您指定显式 includerequire陈述。

关于php - 是否需要包含命名空间文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51303816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com