我现在用PHP工作了很长时间,昨天晚上我觉得有些东西我不知道区别,也许差别只是代码格式或类似的东西,但我不确定,所以这里有两种情况,我想知道差异,如果有一个:
案例1:
<?php
namespace Foo\Bar;
use Foo\Bar\Baz;
class MyClass {
public function __construct()
{
$instance = new Baz();
}
}
?>
案例2:
<?php
namespace Foo\Bar;
class MyClass {
public function __construct()
{
$instance = new \Foo\Bar\Baz();
}
}
?>
答案 0 :(得分:3)
通过使用 use 语句,我们可以从另一个命名空间中引入一个类,您也可以通过其他名称引用它。像这样的东西
use Foo\Bar\Baz as Baz2;
在我看来,我认为没有任何性能问题,只是个人偏好。
为什么我开始使用使用声明?
我最近正在研究项目,当我的命名空间变得很长时,每当我需要实例化该类时,每次输入整个路径都会很麻烦。
答案 1 :(得分:1)
实际上,您也可能会更改为其他实现。例如,您从\Foo\Bar
开始,但稍后会注意到\Baz\Bar
是一种性能更高的实现。在这种情况下,总是使用use
是有意义的,因为那时你只需要在一个地方进行更改(假设这些类实现了相同的接口)。
原始回答:
在这些情况下,没有功能差异(除了所需的数字或字符外)。
我不知道他们的表现是否有所不同,但我对此表示怀疑。