ホームページ  >  記事  >  バックエンド開発  >  PHP 名前空間: エイリアスとインポート インスタンスの詳細な説明

PHP 名前空間: エイリアスとインポート インスタンスの詳細な説明

伊谢尔伦
伊谢尔伦オリジナル
2017-05-19 15:04:121899ブラウズ

Alias と import は、名前空間を呼び出すためのショートカットとして見ることができます。外部の完全修飾名をエイリアスを通じて参照またはインポートできるようにすることは、ネームスペースの重要な機能です。これは、Linux ファイル システム内の他のファイルまたはディレクトリへのソフト リンクを作成する方法に似ています。前の章では、名前空間内の空間の 3 つの名前 (非修飾名、修飾名、および完全修飾名) について知っておく必要がある用語について説明しました。最初にこれら 3 つの名前と用語を理解することによってのみ、名前空間のエイリアスとインポートされたコンテンツをよりよく学び、理解することができます。 空 Php 名前空間は 2 つのエイリアスまたはインポート メソッドをサポートしています: はクラス名としてエイリアスとして使用されるか、名前空間の名前が使用されます。 php は関数または定数をインポートすることに注意してください。 PHP では、エイリアスは演算子
use

を介して実装されます。

以下は、考えられるすべてのインポート方法を使用したコード例です:

<?php
namespace cn\my;  //声明命名空间 cn\my
class User{ }     // 当前空间下声明一个类
namespace shop;   // 在创建一个空间
use cn\my;        //导入一个命名空间
$my_User = new my\User();    //导入命名空间后可使用限定名称调用元素
use cn\my as u;            //命名空间使用别名
$my_User = new u\User();   //使用别名代替空间名
use cn\my\User;              //导入一个类
$my_User = new User();       //导入类后可使用非限定名称调用元素
use cn\my\User as myUser;   // 为类使用别名
$my_User = new myUser();   //使用别名代替空间名
?>

use を使用してインポートする場合、現在のスペースに同じ name 要素がある場合、致命的なエラーが発生することに注意してください。

コードは次のようになります:

<?php
namespace cn\my;
class User{ }
namespace shop;
class User{ }
class myUser{ }
//导入一个类
use cn\my\User;
// 与当前空间的 User 发生冲突,产生致命错误
$my_user = new User();
// 为类使用别名
use cn\my\User as myUser;
// 与当前空间 myUser 发生冲突,产生致命错误
$my_user = new myUser();
?>

エイリアスとインポートの使用に加えて、

名前空間キーワードと __NAMESPACE__ マジック定数

を介して要素に動的にアクセスできます。

namespace キーワードは現在のスペースを表し、マジック定数 __NAMESPACE__ の値は、文字列を組み合わせることで動的に呼び出すことができます。 サンプルコードは以下の通りです:

<?php
namespace cn\my;  //声明命名空间 cn\my
const PATH = &#39;cn\my&#39;;
class User{ }     // 当前空间下声明一个类
echo namespace\PATH;   //namespace 关键字表示当前空间 cn\my
$User = new namespace\User(); //使用namespace代替 \cn\my
echo __NAMESPACE__;    //魔法常量的值是当前空间名称 cn\my
$User_class =  __NAMESPACE__ . &#39;\User&#39;;  //组合称字符串并调用
$User = new $User_class;
?>

上記の動的呼び出しの例では、文字列形式の動的呼び出しメソッドです。二重引用符を使用する場合、特殊文字がエスケープされる可能性があることに注意してください。たとえば、「__NAMESPACE__ . "User"」では、「User」は二重引用符で囲まれた文字列でエスケープされます。さらに、PHP は、スクリプトのコンパイル時に、要素が配置されるスペースとインポート ステータスを決定します。 スクリプトを解析する場合、文字列形式の呼び出しは非修飾名および完全修飾名のみとみなされますが、修飾名であることはできません。

上記は php 名​​前空間の紹介です: エイリアスとインポート。php 名​​前空間に習熟することは、PHP フレームワークを使用した開発に非常に役立ちます。 【おすすめ関連チュートリアル】

1. 「

php.cn Dugu Jiijian (4) - PHP ビデオチュートリアル

2. ビデオチュートリアル:

PHP5.6 の名前空間拡張: 関数と定数空間をインポートできます

3.

入門からマスターまでの PHP プログラミングに関する完全なチュートリアル セット

以上がPHP 名前空間: エイリアスとインポート インスタンスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。