0
A
答えて
3
...特定のフォルダからすべての名前空間をインポートするのグリップを得ることができない私は、私の機能は、同様の名前を持っていない場合、私は必要ないと、思ったんだけど名前空間を使う?
号
しかし、名前空間は、名前空間の衝突を避けることよりもより多くの利益を提供し、それはまた、良好なディレクトリとファイル構造を見つけるためにあなたのファイルが容易になり、親を決定するための直感的なアプローチを維持するためにあなたを強制的に/子関係。例えば
:
// Zend/Translate/Adapter.php
class Zend_Translate/Adapter {}
// Zend/Translate/Adapter/Csv.php
class Zend_Translate_Adapter_Csv extends Zend_Translate_Adapter {}
は、あなたが見ることができるように、類似したオブジェクトに関連するクラスは、論理的にグループ化され、そして上記のコードが示すように、可能な親/子関係を意味します。 1つの注意点として、ディレクトリにサブディレクトリとともにクラスファイルが含まれていても、サブディレクトリ内のファイルがファイルを拡張することは保証されません。
2
私は間違った視点からこの質問に近づいていると思います。確かに、固有の関数名があることがわかっている場合は、名前空間の使用を避けることができます。しかし、これは非常に短い視覚的なアプローチであり、アプリケーションの複雑さ、構造の仕方などは考慮しません。
Mikeが述べたように、ZendやSymfonyなどのフレームワークを使用する場合オブジェクト指向プログラミングに重いコードがあれば、名前空間の使用を強くお勧めします。偉大なPHPパッケージのクラスを組み込みたいとしましょう。名前空間がなければ、競合がないという保証はありません。
さらに、Symfony 2.0のような新しいフレームワークでは、名前空間を使用する必要があります。だからあなたはそれに慣れるほうがいい。
関連する問題
- 1. XMLベースのサーバー - クライアントプロトコルの複数の名前空間または単一の名前空間を宣言する必要はありますか?
- 2. デフォルトの名前空間が指定されていない場合は、接頭辞とともに関数 ""を使用する必要があります。
- 3. 関数宣言にパラメータ名を含める必要がありますか?
- 4. 特定のクラスを宣言するために必要な名前空間は何ですか?
- 5. 名前空間マネージャーまたはXsltContextが必要です
- 6. なぜfprintfを使用する場合、インライン関数を静的宣言する必要がありますか?
- 7. PHPのグローバル関数に名前を付ける必要がありますか?
- 8. スカラー変数を宣言する必要がありますか?
- 9. Cocoaでオブジェクトを宣言するとき、それらをnilに設定する必要がありますか?
- 10. PHPが必要なファイルに宣言された関数を見つけられない
- 11. 名前空間の名前は複数形にする必要がありますか?
- 12. Cで関数を宣言する必要はありますか?
- 13. テーブル変数@tableを宣言する必要があります
- 14. エラー:スカラー変数を宣言する必要があります
- 15. スカラー変数を宣言する必要があります。
- 16. スカラー変数 "@UserName"を宣言する必要があります
- 17. テーブル変数を宣言する必要があります
- 18. 名前空間の前にイニシャライザが必要です
- 19. web.configでhttpsを宣言する必要がありますか?
- 20. app.yamlでindex.htmlを宣言する必要がありますか?
- 21. PHP:拡張クラスは名前空間を呼び出すために別の 'use'を必要としますか?
- 22. 別の配列を割り当てたい場合、配列を宣言する必要はありますか?
- 23. 親クラスから継承した変数を宣言する必要がありますか? (PHP 5.3.2)
- 24. インターフェイスは、それらを実装する具体的なクラスとして同じ名前空間に存在する必要がありますか?
- 25. Obj-C関数宣言にセミコロンが必要ですか?
- 26. Objective-C:プライベートメソッドを宣言する必要がありますか?
- 27. JSにPHP変数が必要な場合、どうすればJavaScriptからPHPを分離できますか?
- 28. 関数ごとに関数プロトタイプを宣言する必要がありますか?
- 29. は、デフォルトの名前空間が指定されていない場合にプレフィックスを使用する必要があります
- 30. マーシャルされた要素/タグで不要な名前空間宣言を避けるには?
すべての有効なポイント。 –
私はフレームワークについては何も話していません、私は自分のプロジェクトを(おそらく)より管理しやすいコンポーネント/サブコンポーネントに編成することを指しています。 –
@Fike Frameworksは私の答えの一部です。私はそれらの言及がこの議論に関連していると感じました。 –