⊗ppOpNsCU 101 of 107 menu

PHPのOOPにおけるuseコマンドと名前空間

次のDataクラスがあるとします:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

また、Pageクラスがあり、その内部でDataクラスのオブジェクトを作成しているとします:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

ご覧の通り、両方のクラスは完全に異なる名前空間に存在するため、前のレッスンで行ったようにDataクラスの呼び出しを簡略化することはできません。しかし、これらの呼び出しは非常に長く不便です。なぜなら、Dataクラスを呼び出すたびに、その長い名前空間を指定する必要があるからです。

このような問題を解決するために、特別なコマンドuseが存在します。このコマンドを使用して、完全修飾名でクラスを一度だけインポートすれば、その後はクラス名だけでそのクラスを参照できるようになります。以下の例を見てください:

<?php namespace Users; use \Core\Admin\Data; // クラスをインポート class Page extends Controller { public function __construct() { $data1 = new Data('1'); // 単純な名前で呼び出し $data2 = new Data('2'); // 単純な名前で呼び出し } } ?>

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

<?php namespace Project; class Test { public function __construct() { // 1つのクラスの3つのオブジェクトを作成: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

以下のクラスが与えられています:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

useコマンドを適用して、クラスの継承コードを簡略化してください。

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否