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

 

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の名前空間に関する記事を公開するとしており、次の記事では、実際にどのようにして名前空間が処理されているのかを説明するとしている。



転職ノウハウ

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

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

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

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

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

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

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

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

人気記事

一覧

イチオシ記事

新着記事

松本人志&宮根誠司、生放送でキレまくりの坂上忍に「怖い」「荒れすぎ」
[07:00 10/1] エンタメ
癒やしの水族館が恐怖の空間に! 視覚・聴覚のダブル刺激で恐怖感MAX
[07:00 10/1] 趣味
ドラマ「吉祥寺だけが住みたい街ですか?」に又吉直樹が本人役で出演
[06:00 10/1] ホビー
ジャンポケ太田「品格ある王者に!」『キングオブコント』2年連続決勝へ
[06:00 10/1] エンタメ
『勇者ヨシヒコ』グッズ発売!ヨシヒコたちがTシャツやキューピー人形に
[06:00 10/1] エンタメ

求人情報