gpt4 book ai didi

php - 为什么我应该(不)对命名空间使用 "use"关键字

转载 作者:可可西里 更新时间:2023-10-31 23:10:07 25 4
gpt4 key购买 nike

我已经使用 PHP 5.3 一年多了,有些事情我总是做但我不确定是否正确:每当我使用当前上下文命名空间之外的类时,都使用 使用关键字:

use Another\Class

所以在代码中我可以直接写:

$object = new Class();

这很好,但我经常在文件的开头有很多 use 指令,这不太好维护(如果我不使用这个类,我'我不太可能删除 use 指令)。

我也可以在每次使用这个类时写下整个命名空间:

$object = new \Another\Class();

所以我想知道两件事:

  • 不使用 use 关键字有什么缺点吗(除了你每次都必须写整个命名空间的事实),比如你不能做的事情?
  • 使用它有什么缺点吗? (它的性能是否会因为某种方式导入类而略微降低)?

编辑澄清一下:我知道干净的代码比小的性能调整更重要,我只是想知道计算机何时工作,我喜欢感受努力:-)

最佳答案

使用use的一大缺点是每次都需要输入全名。

使用它的一大缺点是可能会与已经定义的类发生名称冲突。我不确定 PHP 是如何处理的,但无论哪种方式,您最终都会遇到一些额外的麻烦。加号是您实际上不必使用相同的名称...但是,减号是您拥有与文件名不对应的类。

不过,在我们进一步讨论这种性能废话之前:如果您关心为一个奇怪的名称起别名的性能成本,那您就错了。不要担心“更快”的语法。时期。您、您的用户和那个拿着秒表强制性地单击“重新加载”的人不会注意到其中的区别。 永远。有更好的东西可以优化,这是假设您已经达到了需要的程度。

关于php - 为什么我应该(不)对命名空间使用 "use"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474731/

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