文章熱詞:php,命名空間

                日期:2019-06-29 08:49 by 楊國偉 1102 0 收藏
                我要分享

                摘要:PHP的命名空間(namespace)是PHP 5.3中加入最重要的一個新特性

                一. PHP的命名空間主要解決三種沖突的問題:常量,函數,類

                簡單來說:namespace就相當于是用來建一個目錄,将namespace下面的代碼放在該目錄裏面,與外面的區分開來。

                例如:

                /**
                *namespace 之前不能有任何代碼,除了declare();多個文件可以使用同一個命名空間,但同一命名空間下定義的内容是不能沖突的。namespace支持子命名空間,如:namespace myselfgood,相當于多級目錄的概念。
                <?php
                  namespace myself;
                  function var_dump()
                  {
                    echo 100;
                  }
                  var_dump();        //調用自定義函數(相對路徑方式)
                  myselfar_dump();    //調用自定義函數(絕對路徑方式)
                  ar_dump(100);     //調用全局的(系統的函數)
                ?>

                二. 同一文件中存在多個命名空間的情況

                /**
                * 同一文件中若使用了多個命名空間,一般寫法
                */
                namespace nihaoshijie;
                function demo()
                {
                  //.......
                }
                namespace helloworld;
                function test()
                {
                 //........
                }
                ihaoshijiedemo();
                helloworldest();
                /**
                * 同一文件中若使用了多個命名空間,建議大括号擴起來
                *   同一文件内使用多個命名空間,主要用于項目将多個PHP腳本合并在同一文件中,實際中不提倡使用!
                */
                namespace nihaoshijie{
                  function test_one()
                  {
                 //......
                  };
                }
                namespace helloworld{
                  function test_two()
                  {
                 //........
                  }
                }
                ihaoshijieest_one();
                helloworldest_two();

                三. 名稱解析規則(幾個概念)

                1.非限定名稱:名稱中不包含命名空間分割符,如:myself


                2.限定名稱:名稱中含有命名空間分割符,如:nihaoshijie


                3.完全限定名稱:名稱中包含分割符,并以命名空間分割符開始,如: ihaoshijie  (即絕對路徑的概念)

                四.使用命名空間

                1.use關鍵字目的是使用命名空間的别名:


                use ihaoshijie as shijie


                2.及時在一個命名空間要使用另一個文件中的類或者方法都需要include或者require需要的文件

                上一篇:swoole+PHP實現自動取消訂單,還原庫存等操作

                下一篇:PHP實現解析抖音無水印視頻


                評論