PHP名前空間
nefu_wangxun
nefu_wangxun 2022-04-22 19:11:17
0
5
1099

質問: ネームスペースが宣言された後にファイルを実行するときに、同じネームスペース内の対応するファイルを手動でインポートする必要があるのはなぜですか?例: 同じフォルダー内に、互いに競合しない 3 つの別個のクラス ファイルがあります。3 つのクラス ファイルはすべて同じ名前空間で宣言されていますが、クラス 2 が使用されている場合にクラス 1 に対応するファイルを実行すると、次に、致命的なエラーが報告されます: Class 2 not found

Thank you

nefu_wangxun
nefu_wangxun

全員に返信(1)
autoload

自動読み込みの導入

いいねを押す +1
  • 返事 ありがとう、これは確かに解決策です。実際、私がもっと知りたいのは、異なるファイルに散在するクラスが同じ名前空間で定義されているのに、なぜ再び自動ロードを導入する必要があるのか​​ということです。同じ名前空間内のクラスは相互に直接認識できるべきではないでしょうか?自動ロードも導入される場合、名前空間の重要性は何ですか?
    nefu_wangxun 著者 2022-04-24 10:05:18
  • 返事 例えば、全国にn社のスーパーマーケットチェーンがありますが、n社のスーパーマーケットチェーンのデータが共通しているわけではなく、本社を設置する必要があり、本社がすべてのデータを1つの州にロードします。スーパーマーケットが州のデータにアクセスしたい場合、本社の対応する州のデータベースにアクセスするだけで、包括的なビューが得られます。
    autoload 著者 2022-04-25 09:22:12
  • 返事 再度のご返信ありがとうございます。まさにおっしゃるとおりです。名前空間の意味は、ファイルの論理構造を強調して、ファイルを区別しやすくし、管理しやすくすることであると考えられます。本社のデータベースと同様に、複数の支店のデータをより適切に管理できますが、支店 1 が支店 2 のデータ情報を知りたい場合は、やはり本社に行って電話する必要があります。これは、異なるファイルを相互に使用するときに、同じ名前空間にインポートするのと似ています。しかし現時点では、必要な支店のデータを見つけるために本社のデータベースのどこに行けばよいかが明確にわかるのと同じように、巨大になる可能性があるファイル システム内で必要なファイルを見つけるためにどこに行けばよいかを明確に知ることができます。必要なファイルは名前空間内にあり、ターゲット ファイルの場所を明確に見つけることができるため、情報は同じです。したがって、名前空間の意味は、必ずしも同じ空間内のファイルを直接共有して参照できることを意味するわけではありません。よく考えてみると、同じ名前空間内のファイルが直接参照できるということは、ファイルを実行するときに、の場合は、このスペース内のすべてのファイルを自動的にロードする必要がある場合があります。これによりリソースが消費され、ロードされたファイルのほとんどは使用されません。ネームスペースの重要性は、ファイルが必要なときに、このファイル構造のおかげで必要なファイルをすばやくインポートし、必要に応じて個々のファイルをインポートできることです。
    nefu_wangxun 著者 2022-04-25 21:28:04
  • 返事 あなたの言ったとおり -> あなたの言ったとおり
    nefu_wangxun 著者 2022-04-25 21:34:09
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート