⊗ppOpNsRPt 100 of 107 menu

PHPのOOPにおける名前空間の相対パス

ファイル index.php で 次の呼び出しが行われるとします:

<?php namespace Admin\Data; new \Core\Controller; ?>

ご存知の通り、クラスを参照する際、 その名前空間の前にバックスラッシュを書く必要があります。 実はこれは必須ではありません。 このバックスラッシュを書かなかった場合、 呼び出される名前空間は現在の名前空間に対して 相対的に計算されます。例をご覧ください:

<?php namespace Admin\Data; new Core\Controller; // \Admin\Data\Core\Controller と同等 ?>

次の2つのクラスがあります:

<?php namespace Modules\Shop\Core; class Cart { } ?>
<?php namespace Modules\Shop; class UserCart extends \Modules\Shop\Core\Cart { } ?>

両方のクラスの名前空間に共通する部分があることを考慮し、 クラス継承のコードを簡略化してください。

次の2つのクラスがあります:

<?php namespace Core\Data; class Controller { } ?>
<?php namespace Core\Data; class Model { } ?>

以下のように、ファイル index.php で これらのクラスのオブジェクトが作成されます:

<?php namespace Core\Data; $controller = new \Core\Data\Controller; $model = new \Core\Data\Model; ?>

オブジェクトが作成される名前空間を考慮し、 オブジェクト作成のコードを簡略化してください。

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