PHP の名前空間は php5.3 以降でのみ利用可能です。この概念は C# に長い間存在していました。PHP の名前空間は、実際には C# と同じ概念です。
PHP で名前空間を使用する必要があるのはなぜですか?
名前空間を使用しない場合、プロジェクト内の各クラスの名前を固定する必要があるとします。なぜなら、PHP が新しいときは、autoload を呼び出すか、ロードされたクラスを呼び出すかにかかわらず、クラス名に対応するファイルが存在します。したがって、名前空間がない場合は、project1_school1_class1_Student や project2_school_class_Student など、さまざまなクラスを区別するためのさまざまな命名規則を考えることになります。
名前空間を導入すると、これは効果的に回避できます。名前空間は、このクラスを検索すると、対応するファイル パスに対応することになります。
定義
<?php namespace Myproject;
使用
<?php use Myproject/School;
エイリアス
<?php use Myproject/School as School1; // 别名
名前空間は実行時に解決されます。 use はステートメントと同等であり、解析またはロードされません。たとえば、次の例:
test.php
<?phpuse my\name;require_once("/home/yejianfeng/handcode/test/namespace1.php");$a = new my\name\A();$a->Print1();
namespace1.php
<?phpnamespace my\name;class A { public function Print1(){ echo 11; }}