ホームページ >バックエンド開発 >PHPの問題 >PHP名前空間でスペースを定義するにはどうすればよいですか?

PHP名前空間でスペースを定義するにはどうすればよいですか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-07-30 10:14:421682ブラウズ

この記事では、名前空間の紹介を始めます。名前空間は物事をカプセル化する方法であり、この抽象的な概念は多くの場所で見られます。今日はそれを紹介しますので、必要な場合は参照してください。

まず、名前空間とは何かを理解しましょう。 (必要に応じて、PHP 名前空間を参照してください。)

PHP では、名前空間を使用して、クラス ライブラリまたはアプリケーション (クラスや関数など) を作成し、再利用可能なコードを作成する問題を解決できます。 :

  • ユーザーが記述したコードの名前は、PHP のクラス/関数/定数の名前、またはサードパーティのクラス/関数/定数の名前と競合します。

  • ソース コードの読みやすさを向上させるために、ユーザーが作成した長い識別子の別名 (または略語) を作成します。

PHP の名前空間は、関連するクラス、関数、定数をグループ化する方法を提供します。

さあ、今日の紹介、名前空間の定義方法を正式に始めましょう。

まず小さな栗を見てみましょう。

<?php
declare(encoding=&#39;UTF-8&#39;); //定义多个命名空间和不包含在命名空间中的代码
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // 全局代码
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

観察したところ、これら 2 つのコードにはキーワード「namespace」という共通点があるものの、キーワードが異なっていることがわかりました。その理由は何ですか?名前空間について学ぶと、それがわかります。

デフォルトでは、PHP が名前空間をサポートする前と同様に、すべての定数、クラス、関数名はグローバル空間に配置されます。

名前空間は、キーワード namespace を使用して宣言されます。ファイルに名前空間が含まれている場合は、他のすべてのコードの前に名前空間を宣言する必要があります。構文形式は次のとおりです;

<?php  
// 定义代码在 &#39;MyProject&#39; 命名空间中  
namespace MyProject;  
 
// ... 代码 ...

また、同じファイル内で異なる名前空間コードを定義できます。ただし、グローバル非名前空間のコードと名前空間のコードを組み合わせる場合は、中かっこ内の構文のみを使用できます。グローバル コードは、名前のない名前空間ステートメントとともに中括弧で囲む必要があります。

同時に、名前空間を宣言する前の唯一の有効なコードは、ソース ファイルのエンコーディングを定義する宣言ステートメントです。 PHP 以外のすべてのコード (空白を含む) は、名前空間宣言の前に現れてはなりません。

名前空間の名前付けは以上です。さらに詳しく知りたい場合は、ここをクリックしてください。 → →phpビデオチュートリアル

以上がPHP名前空間でスペースを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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