gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:26:07 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/23956325/

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