プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

【PHP入門】名前空間について説明します

投稿日:

記事の内容


この記事では、PHPの名前空間について説明します。
PHPのバージョンは、7系です。

名前空間の概要

広義の「名前空間」とは、カプセル化することです。
これはPHPだけではなく、多くの場面で見られる抽象概念です。
たとえば、OSはディレクトリでファイルをグループ化します。
この場合、ディレクトリがその中のファイルの名前空間として機能しています。

PHPの名前空間も、グループ化するために使われます。
グループ化することで、以下の問題を解決します。

  • 作成したコードとPHPの組み込みのクラス、関数、定数の名前が衝突する
  • その問題を解決するために、Extra_Long_Namesのような長い名前をつける必要がある

PHPの名前空間は、「namespace」というキーワードを使うことで定義できます。
また、参照する時は、「\」というキーワードを使います。

グローバル空間

名前空間の定義がない場合、すべてのクラスや関数の定義はグローバル空間に配置されます。
これは、名前空間に対応する前のPHPがサポートしていた空間です。

namespaceという記述が書かれていな場合は、全てのコードがグローバル空間に所属しています。
グローバル空間にあるクラスや関数を使うためには、「 \」というキーワードを使います。
下記の例では、namespace内で、独自の「var_dump関数」を定義しています。
また、namespace内で、グローバル空間にある「var_dump関数」も呼び出しています。

名前空間の使い方

一つのファイルに複数の名前空間


複数のファイルに、一つの名前空間

複数のファイルをまたいで、一つの名前空間を定義することもできます。
もちろん、同じ名前空間の中では、同一のクラス名や関数名を定義することはできません。



サブ名前空間

名前空間には階層構造を作ることもできます。
階層が異なれば、同じクラス名やメソッド名をつけることができます。

useキーワード

名前空間のクラスやメソッドを使おうとすると、名前が長くなります。
そこで、「use」と「as」というキーワードを使ってエイリアスを作成することもできます。
エイリアスを作成すると、それより上位の名前空間を省略することができます。

まとめ

この記事では、PHPの名前空間について説明しました。

Good luck for your engineer life!

 

PHPをより詳しく勉強したい人は、この記事を読んで下さい

PHPの学習でオススメの本と動画【2019年最新】

初心者向け【入門編】 いちばんやさしい PHP の教本 「いちばんやさしいシリーズ」のPHP版です。 とりあえず、PHPをさわって動かしてみたいという人には、オススメの本です。 WordPress 仕事の現場でサッと使える! PHPの勉強で ...

続きを見る


30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2030年には79万人のエンジニアが不足 まずは、今後、10年間以上に渡るエンジニアの需給について確認しましょう。 自分の身を預けたいと ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2019年12月の最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 無料のスクールを推す理由 まずは、私が ...

続きを見る


自分がプログラミングスクールに行っても大丈夫か知りたい人は、この記事を読んで下さい

プログラミングスクールに通って挫折する人と上手くいく人の違い

スクールに通っている人の3パターン プログラミングスクールに通っている人のパターンを整理すると、以下の3パターンに分かれます。 それぞれのタイプの特徴を、もう少し詳細に説明していきます。 それぞれのタイプの特徴 大した努力をせずに文句ばかり ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-PHP, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.