PHP の名前空間は、同じクラスまたはメソッドを持つことによって生じるコードの競合を解決する方法です。 namespace コマンドを使用して、PHP コードを名前空間に配置します。クラスを呼び出す場合は、まず名前空間を呼び出す必要があります。
PHP プログラムを作成するとき、同じ名前のクラスまたはメソッドが存在するためにプログラムが失敗することがわかります。ただし、PHP の名前空間は、コード競合の問題を解決するのに役立ちます。次に、この記事で、名前空間コードの使用方法を詳しく紹介します。 [推奨コース:
PHP チュートリアル
#]次の例には、Demo.php とインデックスの 2 つのファイルがあります。 .php. 2 つのファイルは同じディレクトリにあります。Demo.php ファイルに名前空間と Demo クラスを記述し、index.php が Demo.php 内の Demo クラスを呼び出します。次の例の「出力結果」は、ブラウザはindex.phpにアクセスします。 Demo.php ファイル コード
<?php namespace DemoNameSpace; class Demo { private $mysqlHandle; public function __construct() { echo 'This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is '.__NAMESPACE__; } } ?>index.php ファイル コード
<?php
include 'Demo.php';
use DemoNameSpace\Demo;
$DemoObj = new Demo();
?>
“This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is DemoNameSpace”
上記の例の説明: Demo.php に _NAMESPACE__ マジック定数があります; 「これには、現在の名前空間名の文字列が含まれています。グローバルでは、どの名前空間にも含まれていないコード、空の名前空間が含まれています」 string."
Demo.php を変更せず、index.php ファイルを変更してください
<?php include 'Demo.php'; $Demo = new Demo(); ?>出力結果:
“Fatal error: Class 'Demo' not found in F:\JJserver\demo\index.php on line 4”
これは一般的な「致命的なエラー」メッセージです。従来の PHP プログラミングの考え方によれば、ここでの出力は上記の出力と一致するはずですが、ここには致命的なエラーがあります。しかし、Demo.php ファイル内のステートメント「namespace DemoNameSpace;」を削除 (またはコメントアウト) すると、正常になります。これは、私たちが通常クラスを作成したりクラスを呼び出したりする最も一般的な方法です。
要約:
名前空間を使用する場合と使用しない場合の 2 つの出力状況を比較し、理解するために名前空間の定義を追加すると、上記の致命的なエラー状況は良好です。わかった。名前空間は Demo.php で定義されます。つまり、名前空間の後に Demo クラスが定義され、その後 Demo クラスが DemoNameSpace 名前空間にマージされます。そのため、この Demo クラスを呼び出す場合は、最初にこの DemoNameSpace を呼び出す必要があります。名前空間、つまり、index.php ファイルの「useDemoNameSpace\Demo」ステートメントを使用します。
[関連する推奨事項:
PHP での名前付け スペースとは以上がPHP で名前空間を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。