gpt4 book ai didi

php - 我需要在 Symfony2 中使用命名空间吗?

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

我刚刚开始学习 Symfony2(在过去 2 年使用 1.x 之后)并且我有点推迟需要更多的打字。我知道这听起来很懒惰,但我喜欢这样一个事实,即我可以在 1.x 中以更少的输入快速启动并运行一些东西。我想知道是否可以在不需要使用 namespace 的情况下自动加载类。我这样做的所有尝试(使用 PEAR 命名方案)都失败了。

如果我遗漏了一些明显的东西并且会因为避免使用命名空间而在脚下开枪,我会很感激任何建议:)

回应@KingCrunch:
我想避免 namespaceuse Symfony2 中似乎经常使用的声明只是为了加快我的编码速度。老实说,我之前没有在 PHP 中使用过命名空间。我理解它们在纸上的好处(我习惯于使用其他语言的包)但我从来没有遇到过不在 Symfony 1.x 项目中使用它们的问题。这就是为什么我在上面做出“如果我遗漏了什么......”声明的原因。

最佳答案

您必须意识到 namespace 不需要您输入比 PEAR 样式名称更多的内容。实际上他们可以保存一些字符。

看这两个例子:

梨型:

class Foo_Bar_Baz extends Foo_Bar_Parent
{
public function __construct()
{
$obj = new Some_Long_Class_Name;
$obj2 = new Some_Long_Class_Name;
}
}

使用命名空间/使用:
namespace Foo\Bar;

use Some\Long\Class\Name;

class Baz extends Class
{
public function __construct()
{
$obj = new Name;
$obj2 = new Name;
}
}

有命名空间,但没有用:
namespace Foo\Bar;

class Baz extends \Foo\Bar\Class
{
public function __construct()
{
$obj = new \Some\Long\Class\Name;
$obj2 = new \Some\Long\Class\Name;
}
}

如您所见,如果您每次都使用完全限定的类名(最后一个示例),则每个类名仅多一个字符,前导 \ .如果您使用 use 语句和所有语句,那么您在一个文件中重复使用相同类名的次数越多,或者您在同一命名空间中使用的类越多,它就会变得越短。

TL;DR:无论如何,如果你很懒惰,可以使用像 PhpStorm 这样的 IDE,它会自动完成所有这些并为你添加 use 语句。

关于php - 我需要在 Symfony2 中使用命名空间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880434/

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