PHP 開発(32) - ThinkPHP5.0(4) ネームスペースとパブリックスペース - PhpStorm

黄舟
リリース: 2023-03-06 10:40:02
オリジナル
1717 人が閲覧しました

このブログ投稿では、名前空間とパブリック スペースの関係と、それらを使用する際に注意する必要がある問題について、2 つの PHP ファイルを通じて説明します。

1.php に 2.php をインクルードすることはできず、同時に 2.php に 1.php をインクルードすると、無限ループによりエラーが報告されることに注意してください。

1.php:

<?php
    /**
     * 命名空间 公共空间 访问方式
     * 命名空间 优先级大于 公共空间
     */
    namespace shenyang;
    class Animal{
        public $obj = &#39;dog<br>&#39;;
        static $name = &#39;大黄<br>&#39;;
    }

    function getmsg(){
        echo "辽沈<br>";
    }

    const NM = "iwanghang1<br>";

    include("./2.php");

    getmsg(); // 打印结果:辽沈 (由此可见,引入的空间,对当前空间没有影响)

    echo \NM; // 打印结果:iwanghang2 (\ 公共空间 访问方式)
    echo NM; // 打印结果:iwanghang1 (假如,当前空间没有NM,就会去公共空间查找NM,)
ログイン後にコピー

2.php:

<?php
    function getmsg(){
        echo "北京";
    }

    const NM="iwanghang2<br>";

    /**
     * 注意,不能1.php include 2.php,同时,2.php include 1.php,死循环会报错
     * 当我们测试下面的代码的时候,要注释掉1.php中的“include("./2.php");”
     */
    include("./1.php");

    echo NM; // 不推荐的写法
    echo \NM; // 打印结果:iwanghang2
    echo \shenyang\NM; // 打印结果:iwanghang1
ログイン後にコピー

上記は、PHP 開発 (32) - ThinkPHP5.0(4) 名前空間とパブリックスペース - PhpStorm の内容です。 PHP Chinese Net (www.php.cn) にご注意ください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート