⊗ppOpNsCA 104 of 107 menu

PHPにおけるオブジェクト指向プログラミングにおける名前空間のクラスエイリアス

異なる名前空間に属する2つのクラス Data があるとします。 あるクラスで、これら両方のクラスのオブジェクトが必要な状況を考えます:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // オブジェクトを作成 $data2 = new \Core\Admin\Data; // オブジェクトを作成 } } ?>

ここで、 use コマンドを使ってクラスの呼び出しを簡略化することにしました。 この場合、問題が発生します:両クラスが同じ名前 Data を持っているため、名前の衝突が起こります:

<?php namespace Project; // 名前の衝突が発生します: use \Core\Users\Data; // 最初のクラスをインポート use \Core\Admin\Data; // 2番目のクラスをインポート class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

この問題を解決するために、特別なコマンド as があります。 これにより、インポートするクラスに エイリアス(別名)を付けることができます。このエイリアスが、そのファイル内でそのクラスにアクセスする際の名前になります。 クラス Data の名前を変更してみましょう:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

以下のコードを use を使用して簡略化してください:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

以下のコードを use を使用して簡略化してください:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否