Symfony 2では、この行はどういう意味ですか?
$task->setDueDate(new \DateTime('tomorrow'));
何\DateTime
を意味しますか?どこからでもアクセスできますか?
小さな参考までに、これはSymfonyとは何の関係もありません-Symfony2が名前空間を使用しているだけです。
名前空間を使用しない場合、datetimeクラスは常にから利用できnew DateTime()
ます。これは、すでに「ルート」名前空間にいるためです。new DateTime()
ただし、名前空間を使用している場合は、現在の名前空間でそのクラスを検索するため、単に使用しても機能しません。例:
<?php
namespace MyApp\Component;
class Something
{
function __construct()
{
$dt = new DateTime();
}
}
DateTimeという名前空間Class 'MyApp\Component\DateTime' not found in ...
内にクラスがないため、これによりエラーが発生します(例)。MyApp\Component
\DateTime()
これが、クラスの「ルート」(?)名前空間を調べるようにインタプリタに指示するを見つけた理由ですDateTime
。
キーワードを使用してクラスuse
をインポートすることもできます(スクリプトの上部は次のようになります)。これにより、次のように呼び出すことができます。DateTime
new DateTime()
<?php
namespace MyApp\Component;
use \DateTime;
http://www.php.net/manual/en/language.namespaces.global.phpを参照してください
namespace X\Y;
また、ファイルの上部にが表示されるはずです。\DateTime
これは、クラスDateTime
が。ではなくグローバル名前空間から取得されることを意味しますX\Y
。
つまり、このDateTime。
他の人が言ったように、それはグローバル名前空間を参照し、DateTimeはphpに統合されてい ます。http ://www.php.net/manual/en/class.datetime.phpを見て 、symfonyだけでなく使用できるようにしてください;)
\ DateTimeは、名前空間化されたDateTimeクラスです。おそらく、ファイルの先頭に\ X\X減速を使用している場所があります。\ DateTimeは、\ X\Xの使用を宣言できる場所ならどこからでもアクセスできる必要があります