下記の二つはどう違うのでしょうか?
use Exception;
use \Exception;
又は
use Hoge\Fuga;
use \Hoge\Fuga;
マニュアルには下記のように書いてあります。
ネームスペースの名前は先頭にバックスラッシュを付ける必要はなく、つけることができません。なぜならインポートされる名前は現在のネームスペースと相対的にプロセスされる訳ではないので、条件を満たす必要があります (条件を満たしているネームスペースはFoo\Barのようにネームスペースのセパレータを含みます)
しかしこれがよくわかりません。上記の「許可されていない」ものもちゃんと作動するからです。
下記のコードでzend_do_useを見てみると、is_global (先頭にバックスラッシュがあるときはセットされています)は警告にのみ使われています。
namespace {
use Exception;
}
下記の警告を表示します: "The use statement with non-compound name 'Exception' has no effect". (しかし\Exceptionを使ったときは警告を投げません.)
何か抜けているところがあるのでしょうか?それともこれらは微妙に違うのですか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。