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, 開発全般

  関連記事

php-logo
プログラミングPHP 第10章(PDF)ポイント

FPDF(マルチバイト対応はMBFPDF)ライブラリを利用する。(同梱されていな …

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

qオプションで …

centos_logo
CentOS5.5にphpUnitのインストール

php 5.2.7のインストール http://blog.livedoor.jp …

php-logo
アルファチャンネル

αチャンネル(アルファチャンネル)とは画像処理分野において、各ピクセルに対し色表 …

php-logo
PHPでバッチ処理

そもそもPHPでバッチってかけるの? (参考)http://search.net …