PHPでクラスのエイリアス(別名)を作成する方法

PHPではバージョン5.3.0以上からエイリアス機能がサポートされました。

ここではその機能を使ってクラスのエイリアス(別名)を作る方法を紹介します。

クラスエイリアス作成には use を使う

最初に書いたようにPHP5.3以上ではエイリアスの作成に対応しています。

そのエイリアス作成に使われるのがuse演算子というもの

5.3からこの演算子を使うことクラス名のエイリアス作成ができるようになりました。

 

やり方は元のクラス名を Hoge  、エイリアス名を Alias  とすると次のような感じ

これで Origin  に対して Alias  という別名が作成されます。

ちなみにこの書き方は名前空間やインターフェース(後で紹介)でも同様です。

 

そして次はuse演算子を使ったクラスエイリアス作成のコード例

これはあるクラス Hoge  のエイリアス Piyo  を作成しているコードです。

別名を作成したので、 Hoge  、 Piyo  のどちらも同じクラス名として扱うことが可能

ちなみに上コードみたいにuse演算子はクラス宣言の前に書いてOKです。

 

以上がクラスのエイリアスを作る方法

あまり使う場面は少なそうですが、知っておくと何かの役に立ちそうです。

ただしPHP5.3以上でしか使えないということだけは注意

ちなみにインターフェースのエイリアスを作成するには・・・

インターフェースというのは空の関数だけの集まりを定義したクラスみたいなもの

別々のクラスに共通のメソッドを実装したいときによく使われます。

このインターフェースもクラス同様エイリアス(別名)の作成が可能です。

 

やり方はクラスの時と全く一緒

例えば次は Greeting  の別名として Aisatu  を作成しているコード例

上コードみたく use Greeting as Aisatu;  のように書けばOKです。

あとは implements  でどちらともクラスに実装することが可能になります。

PHP5.6以上なら関数や定数のエイリアスも作成可

クラスのエイリアス作成はバージョン5.3.0移行からの機能です。

これに加えてPHP5.6以上からは関数や定数のエイリアス作成もサポートされました。

 

関数と定数の宣言の仕方はそれぞれ次のようにuse演算子を使うだけ

 

関数エイリアスの詳しい作り方やコード例は次の記事で、

定数エイリアスの作り方やコード例については次記事で紹介した通りです。

PHP5.6以上でしか使えないですが、場合によっては便利な機能だと思います。

ここまでのまとめ

ということでクラスエイリアスの作成方法まとめ

  • PHP5.3以上から作成可能
    エイリアス機能がサポートされたのはバージョン5.3以上から
    それ未満のバージョンでは利用できないことに注意!
  • 作成にはuse演算子を使う
    例えば use Origin as Alias;  とするとクラス Origin  のエイリアスとして  Alias  が作成可能

個人的にはあまり使うことのない機能かなと思います。

ですが正式に機能としてサポートされてるので必要な場面では役立ちそうですね。

以上PHPでクラス名のエイリアスを作成する方法についてでした。