PHP 5.3の名前空間を使う方法 その2

PHP 5.3の名前空間を使う方法 その2

後藤大地  [2009/07/16]

SitePoint: New Articles, Fresh Thinking for Web Developers and Designers

Craig Buckler氏のHow to Use PHP Namespaces, Part 1: The Basicsに引き続き、PHP 5.3で導入された名前空間に関する解説をおこなうシリーズの第2段がSitePointにおいてHow to Use PHP Namespaces, Part 2: Importing, Aliases, and Name Resolutionのタイトルのもと公開された。実際のコーディングサンプルを交えて、実際にどのように名前解決がおこなわれるかが説明されている。

Craig Buckler氏はまず次の3つの言葉を説明。

  • 完全修飾名: 「\」からはじまる完全参照。名前空間の指定がなくグローバルスペースに所属している場合には「\A」のように「\」のあとに直接名前を記載する。参照の曖昧さがまったくなくなるという利点はあるが、記述が長くなり大量に記述する場合には実用的とはいいがたい
  • 修飾名: 少なくとも一つ以上の名前空間がセパレータで区切られて指定された参照名
  • 非修飾名: セパレータも名前空間の指定も一切入っていない参照名

次にnamespace、use、use asオペレータを使った場合の参照例を紹介している。概要をまとめると次のとおり。

  • 名前空間を定義してある場合、非修飾名はまず同じ名前空間にあるものが参照対象となる
  • useオペレータで名前空間をインポートした場合、非修飾名では参照できない
  • useオペレータで名前空間をインポートした場合、修飾名で参照できる
  • 「use 名前空間 as エイリアス;」の指定で、「名前空間\名前」ではなく「エイリアス\名前」で参照できる

さらにそれぞれの参照規則が紹介されている。概要をまとめると次のとおり。

  • 完全修飾名はコンパイル時に名前解決される
  • 修飾名は所属している名前空間にあるものとして処理される
  • 修飾名のエイリアスは展開される
  • 修飾名は実行時に名前解決される
  • 非修飾名のエイリアスは展開される
  • 非修飾名は実行時に名前解決される。同名前空間を検索して、それで見つからなければグローバルスペースを検索する

Craig Buckler氏は引き続きPHP 5.3の名前空間に関する記事を公開するとしており、次の記事では、オートローディングとそのほかのいくつかのオプションを取り上げるとしている。

関連したタグ


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

特別企画 PR

人気記事

一覧

イチオシ記事

新着記事

花道オンステージ!「RAH GENESIS 仮面ライダー鎧武」は錠前カットも再現
[08:30 2/14] ホビー
【レポート】「RAH GENESIS 仮面ライダーゴースト」はアイコン交換ギミックも -「WF2016[冬]」で公開
[08:30 2/14] ホビー
練習試合で新加入選手が大活躍! 13日のキャンプ情報
[08:00 2/14] ライフ
キューブ交換で2モードチェンジ! 必殺音鳴る「DXジュウオウバスター」登場
[08:00 2/14] ホビー
【連載】イチから復習! iPhone/iPadで活用したいビジネスアプリ 第22回 ホーム画面にメモを貼り付けられる「アイコンメモ」
[08:00 2/14] 企業IT

特別企画 PR

求人情報