For Want Of A Better Word

PHPの名前空間

      2015/04/19

※PHP5でオブジェクト指向がサポートされてからの概念。スコープとは違います。

PHP の世界では、名前空間は次のふたつの問題を解決するための手段として用意されています。
ライブラリやアプリケーションの作者が、 クラスや関数といった再利用可能なコード部品を作ろうとするときにこれらの問題にぶちあたることになります。

①あなたが作成したコードと PHP の組み込みのクラス/関数/定数 あるいはサードパーティのクラス/関数/定数の名前が衝突する
②最初の問題を解決するためには、Extra_Long_Names のような長い名前をつけなければならない
PHP の名前空間は、関連するクラスやインターフェイス、関数、そして定数をひとまとめにして扱うものです。

※名前空間の名前として PHP や php は使えません。
※PHP のコードならなんでも名前空間に含めることができますが、 実際に名前空間の影響を受けるのはクラスとインターフェイス、関数、そして定数の 4 種類だけです。
名前空間を宣言するには、キーワード namespace を使用します。名前空間を含むファイルでは、他のコードより前にファイルの先頭で名前空間を宣言しなければなりません。 ただし declare キーワードは例外です。
※PHP には、現在の名前空間内の要素へのアクセスを抽象化するための方法が 2 通りあります。 マジック定数 __NAMESPACE__ および namespace キーワードがそれです。
__NAMESPACE__ の値は文字列で、現在の名前空間の名前が格納されます。 名前空間に属さないグローバルなコードでは、この中身は空文字列となります。

 - php, 開発全般

  関連記事

android-logo
Monacaというサービスが気になる。

概要 WEB上の開発で、androidもiOSもどっちも開発できるというもの。 …

android-logo
Androidアプリのアップロード

iconも作ったのでアップ作業。 Eclipseで作成したアプリ内 bin/xx …

php-logo
symfony1.4

ディレクトリ構造 プログラミングするファイルは主にappsの中に。 apps – …

php-logo
辞書順比較における大文字小文字の前後

大文字の方が大きい(後ろ)扱いです。

php-logo
PHPコマンドライン実行(-qオプション)

qオプションで …