セクション 14 -- 名前空間

WBOY
リリース: 2016-06-13 12:37:01
オリジナル
793 人が閲覧しました

/*
------------------------------------------- ----------------------------------
| この記事は Haohappy<
| = 章のクラスとオブジェクトのメモ
| = 不要なトラブルを避けるため、転載しないでください。批判や修正は大歓迎です。私たちはすべての PHP 愛好家とともに進歩していきたいと考えています。
= PHP5 Research Center: http://blog.csdn.net/haohappy2004
--------- ----- -------------------------------------- ----- ---------------
*/
PHP5 正式版では名前空間が解除されており、このセクションの内容は無効です-- Haohappy Note
セクション 14-- 名前空間
変数、関数、クラスに名前を付けるのは非常に難しく、変数の名前が理解しやすいものでなければならないことに加えて、その名前が適切であるかどうかも考慮する必要があります。小さなスクリプトでは、2 番目の質問は基本的なものです。コードを再利用することを検討する場合、後続のプロジェクトのコードでは、使用した名前を使用することは避けなければなりません。名前の競合は、関数とクラスの間でも発生する可能性があります。これを回避するには、すべてのクラスに接頭辞を付けるか、
Namespace ステートメントを使用します。キーワードは、コードのブロックの名前を指定します。このコードのブロックの外では、スクリプトは、名前空間の名前が後に続く演算子を使用して、このコードのブロックを参照する必要があります。名前空間内のコードは、同じメソッドを使用しません。この方法は、プレフィックスを追加するよりも優れています。
階層型 (ネストされた) 名前空間を作成できるかどうか疑問に思うかもしれません。いいえ。ただし、名前空間名の後にコロンを追加することはできます。また、名前にコロンが含まれていない変数、関数、クラスを呼び出すこともできます。ただし、コロンは最初と最後の文字でない限り使用できます。名前空間名のコロンは PHP にとって意味がありませんが、論理ブロックを区別するために使用すると、コード内の親子 (親と子) 関係を示すのに役立ちます。 .
/* 注: 次のように使用できます:
namespace Animal:dog {}
namespace Animal:pig {}
親子関係を示すためにコロンを使用します。
名前空間ステートメント内には、関数、クラス、または定数定義以外のものを含めることはできません。これにより、名前空間内の定数は、グローバル変数を使用する古い関数ライブラリを改善するために使用できなくなります。クラス内の定数と同じ構文を使用します。
例 6.17 は、名前空間の使用方法を示しています。
リスト 6.17 名前空間の使用



コードをコピーします。コードは次のとおりです:

namespace core_php:utility
{
class textEngine
{ ($text)); $e = 新しい textEngine
return($e->大文字; ($text));
$e = new core_php :utility::textEngine;
print($e->uppercase("from object") . "
"); /test function in namespace テスト関数 in namespace
print(core_php:utility::uppercase("from function") . "
");
// クラスをグローバル名前空間にインポートします core_php からクラス textEngine をインポートします:utility;
$e2 = new textEngine;
?>
Import ステートメントは、名前空間の特定の部分をグローバル名前空間にインポートします。型 定数、関数、またはクラスの場合は、メンバーの名前を記述します。
//たとえば、クラス XXX をインポートします。
特定の型のすべてのメンバーをインポートする場合は、* の代わりに * を使用できます。 name;
/ /たとえば、import constant * はすべての定数をインポートします
すべての型のすべてのメンバーをインポートする場合は、
//たとえば、import *
をメンバーの後に入力します。 、 from キーワードと名前空間 Name を使用します。
//たとえば、 import class textEngine from core_php:utility;
つまり、 import * from myNamespace または import class textEngine from core_php のようなステートメントを記述する必要があります。例 6.17 と同様に、ユーティリティを使用します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!