2011-12-17 6 views
0

は、すべてのハードコーディングされたPHP名前空間で変数を使用する方法はありますか?

「名前空間SOMETHING」

で始まる、ファイルの何千もの枠組みを手に入れた変数に何かを交換する方法はありますか?

「名前空間の$ SOMETHING」

+0

もちろん、AWK/SED、より良いIDEなどでの "リファクタリング"ツールc。しかし、PHPでこれを行う方法があるのか​​、現在はすべてのファイルに名前空間をハードコードする必要がありますか?設定をセットアップして、フレームワークの名前空間を1か所で変更できることが大好きです。 – FYA

+0

[Refactor Namespaces in PHP、これは変数でこれを行うことは可能ですか?または定義できますか?](http://stackoverflow.com/questions/8543351/refactor-namespaces-in-php-is-it-possible- do-do-with-a-variable-or-define) – ajreal

+0

もちろんdupです。正当な理由がないので、qはうんざりしている。 qとaに注目してください。 – FYA

答えて

0

いいえ、あなたはいくつかの理由で、変数の名前空間を使用することはできません。

  • 「名前空間は、名前空間キーワードを使用して宣言された名前空間を含むファイルを宣言する必要があります。他のコードの前にファイルの先頭にある名前空間。 " http://php.net/manual/en/language.namespaces.definition.php

    したがって、名前空間を宣言する前に変数定義を宣言したりインポートしたりすることはできません。

  • それは構文エラーだ:

    namespace $bar; 
    Parse error: syntax error, unexpected T_VARIABLE, 
    expecting T_STRING or T_NS_SEPARATOR or '{' 
    
  • 「変数の名前空間は、」本当に悪いアイデアのように聞こえると、私はあなたができなかった虐待

  • を境にいないユースケースを思い付くことができません構文は通常の名前空間宣言と区別できないので、定数を使用してください。
関連する問題