【 PHP 】PHP8に入門してみた 220日目 PHPの基本 ( オブジェクト指向 名前空間のお作法 )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

オブジェクト指向

名前空間のお作法

前空間を使用する際にはいくつかのお作法や注意するべきことがあるようです。

  1. 名前空間の命名規則
    名前空間の名前は、通常、逆ドメイン名(ドメイン名を逆さま)に使用して命名します。
    example.com ドメインの場合、 com\example という名前空間を使用することが一般的です。これにより、名前空間の一意性が確保されます。
  1. 名前空間の定義
    名前空間は、ファイルの先頭に定義する必要があります。
    名前空間の定義の前には、コメントや空白行を含むことができますが、それ以外のコードは含まれていてはいけません。
    また、1つのファイルに複数の名前空間を定義することはできません。
  1. 名前空間のインポート
    名前空間をインポートするには、use キーワードを使用します。
    インポートしたい名前空間の前に
    use キーワードを記述し、as キーワードを使用してエイリアスを定義することができます。
    名前空間をインポートする際には、必要最小限の名前空間のみをインポートするようにしてください。
  1. 名前空間とクラス名の重複
    異なる名前空間に同じ名前のクラスを定義することができますが、同じ名前のクラスを同じ名前空間内に複数定義することはできません。
    また、クラス名には名前空間を含めることができますが、クラスの定義としては推奨されません。
  1. 名前空間のネスト
    名前空間はネストすることができますが、深い階層の名前空間を定義することは避けるべきです。
    名前空間のネストが深すぎると、コードの可読性が低下する可能性があります。

これらは、名前空間を使用する際に注意すべき点の一部です。適切に名前空間を使用することで、コードの可読性や保守性を向上させることができます。

名前空間と物理的なフォルダ構成

名前空間と物理的なフォルダは一致させる必要はありませんが、一致させることが推奨されます。

物理的なフォルダと名前空間を一致させることにより、コードの構造が見やすくなります。
例えば、 src フォルダ内に com/example というフォルダがあり、その中に MyClass.php というファイルがある場合、MyClass クラスは com\example\MyClass という名前空間に属することになります。このように、物理的なフォルダ構造と名前空間の関係を一致させることで、ファイルやクラスの配置が明確になります。

ただし、名前空間を使用する際に、物理的なフォルダ構造が変更される場合があります。

別のライブラリからクラスを使用する場合、そのライブラリが提供する名前空間に合わせてファイルの配置場所を変更する必要がある場合があります。

したがって、名前空間と物理的なフォルダの一致は推奨されますが、必ずしも必要ではありません。

コードの構造を明確にするために、適切なフォルダ構造と名前空間を選択する心がけるべし!

メモ

ほとんどJavaのpackageの機構!

PHPPHP

Posted by raika@blog