0Pricing
PHP Academy · レッスン

入れ子の名前空間とエイリアス

サブ名前空間を作成し、エイリアスで記述を簡潔にします

「入れ子の名前空間とエイリアス」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。

ネストした名前空間の例

PHPの名前空間は、バックスラッシュで区切られたセグメントを増やして、深くネストできます。

<?php
namespace Vendor\Package\Http\Middleware;

class AuthMiddleware {
    public function handle(): void {}
}

エイリアスを使う理由

長い名前空間のパスを使うとコードが冗長になります。エイリアスを使うと、選択した短い名前でクラスを参照できます。

クラスのエイリアス

use … as Aliasを使用すると、現在のファイル内でインポート名を変更できます。

<?php
namespace App\Controllers;

use App\Infrastructure\Database\MySQLConnection as DB;

class UserController {
    public function __construct(private DB $db) {}
}

名前空間プレフィックスのエイリアス

名前空間プレフィックスにエイリアスを付けると、深くネストした参照を短くできます。

<?php
use App\Domain\Orders\Repositories as OrderRepo;

$repo = new OrderRepo\EloquentOrderRepository();

クラス名の衝突の解決

2つのパッケージが同じ短い名前のクラスを定義している場合は、一方にエイリアスを付けます。

<?php
use League\Flysystem\Filesystem;
use Illuminate\Filesystem\Filesystem as LaravelFS;

$fs1 = new Filesystem(/* adapter */);
$fs2 = new LaravelFS();

エイリアスを使ったグループ化した use

グループ化したuseブロックでは、シンボルごとにエイリアスも指定できます。

<?php
use App\Models\{User, Post as Article};

深くネストした構造

実際のDDDプロジェクトでは、4つ以上のセグメントを持つ名前空間がよく使われます。例:App\Domain\Billing\Services\InvoiceGenerator。

エイリアスのスコープ

エイリアスのスコープはファイル単位です。あるファイルで定義したエイリアスは、別のファイルには影響しません。

2つのロガーライブラリ

例:Monologとカスタムロガーを同時に使用します。

<?php
use Monolog\Logger;
use App\Logging\Logger as AppLogger;

$monolog = new Logger("channel");
$app     = new AppLogger();

関数と定数のエイリアス

インポートした関数や定数にもエイリアスを付けられます。

<?php
use function App\Helpers\formatMoney as money;

echo money(1999); // "€19.99"

ベストプラクティス

意味のあるエイリアスを付けてください。入力の手間を減らすために可読性を犠牲にするのではなく、衝突の解決にエイリアスを使用します。

まとめ

ネストした名前空間はディレクトリ構造を表現します。エイリアスは名前の衝突を解決し、冗長さを減らします。どちらもファイルの先頭でuse … asを使用します。

クイックチェック

クラスのインポートにどのようにエイリアスを付けますか?

よくある質問

「入れ子の名前空間とエイリアス」レッスンは無料ですか?

はい。「入れ子の名前空間とエイリアス」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。

「入れ子の名前空間とエイリアス」で何を学びますか?

サブ名前空間を作成し、エイリアスで記述を簡潔にします ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

PHP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「入れ子の名前空間とエイリアス」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPHP Academyレッスンでコードを書いて実行できますか?

はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 名前空間の宣言と利用
  2. 入れ子の名前空間とエイリアス
  3. PSR-4オートローディング標準
  4. オートローダーの登録
← PHP Academyに戻る