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

    後藤大地  [2009/07/15]

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

    6月30日(米国時間)に公開されたPHP 5.3.0には遅延スタティックバインディング、ラムダ関数、クロージャ、3項演算子、goto演算子などたくさんの新機能が追加されている。なかでも、名前空間がサポートされた点は注目に値する。PHP 5.3で導入された名前空間がどういったもので、実際のプログラミング方法やその効果がどういったものであるかという内容がCraig Buckler氏がSitePointに公開したHow to Use PHP Namespaces, Part 1: The Basicsにまとめられている。

    PHPでは関数名やクラス名はグローバルスペースで定義される。このため、PHPライブラリのサイズが増えていくと、こうした名前が衝突して、意図しない場所で再定義されてしまう危険性がある。3rdパーティ製のライブラリを追加する場合にはこの危険性が高くなる。こうした問題を避けるために、PHPのクラス名や関数名には名前規則を適用することが多く、名前が衝突しないように工夫されている。

    PHP 5.3で導入された名前空間を使うとこうした問題を回避できる。How to Use PHP Namespaces, Part 1: The Basicsには実際のコーディングサンプルとともに説明がおこなわれている。紹介されている内容を要約すると次のとおり。

    • クラス名、関数名、定数名に名前空間を適用できる
    • 名前空間の定義には「namespace 名前;」を使う
    • 名前空間はネストできない
    • コードブロックに対して複数の名前空間を定義することはできない
    • 複数の名前空間を書くことはできれば避けた方がいい
    • 1ファイル1名前空間にするべき
    • 名前空間は階層化させることができる
    • 階層化は「\」で区切る
    • 階層化した名前空間の定義はたとえば「namespace 名前\名前\名前;」のようになる
    • アクセスは「名前空間\関数名」や「名前空間\サブ名前空間\サブ名前空間\関数名」のようにおこなう

    Craig Buckler氏は引き続きPHP 5.3の名前空間に関する記事を公開するとしており、次の記事では、実際にどのようにして名前空間が処理されているのかを説明するとしている。

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

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

      Heroes File ~挑戦者たち~

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

      はじめての転職診断

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

      転職Q&A

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

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン