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の名前空間に関する記事を公開するとしており、次の記事では、オートローディングとそのほかのいくつかのオプションを取り上げるとしている。

関連したタグ


ITセミナー

一覧
  • Java高速開発ツールの最先端…APサーバの再起動が不要に! 年間約5週間以上の工数を削減
    インフォメーションディベロプメント 照井氏

  • 参加費無料、マイナビニュース主催のITセミナー情報まとめ。勝ち組への一歩はここをチェック!!

注目特集

転職ノウハウ

あなたの仕事適性診断
あなたの仕事適性診断

4つの診断で、自分の適性を見つめなおそう!

Heroes File ~挑戦者たち~
Heroes File ~挑戦者たち~

働くこと・挑戦し続けることへの思いを綴ったインタビュー

はじめての転職診断
はじめての転職診断

あなたにピッタリのアドバイスを読むことができます。

転職Q&A
転職Q&A

転職に必要な情報が収集できます

ドS美人面接官 vs モテたいエンジニア
ドS美人面接官 vs モテたいエンジニア

入室しようとしたら、マサカリ投げられちゃいました!?

特別企画

一覧

    人気記事

    一覧

    イチオシ記事

    新着記事

    水に浮く1/350スケール護衛艦「いずも」ペーパークラフトつき海上自衛隊書籍
    [23:05 4/21] ホビー
    スザンヌ、元夫を重盛さと美に痛烈批判され擁護「お互い悪いところが…」
    [22:52 4/21] エンタメ
    日米、武力行使の事前調整明記 - ガイドライン改定
    [22:39 4/21] 共同通信
    ACL決勝T進出へ…鹿島、最終節での突破条件は勝利あるのみ
    [22:33 4/21] ライフ
    画楽の通販サイトがオープン! 諸星大二郎、ながやす巧の特製単行本など販売
    [22:32 4/21] ホビー

    特別企画

    一覧

      求人情報