php namespace命名空间的定义方法实例详解

怪我咯
Lepaskan: 2023-03-13 07:38:02
asal
1725 orang telah melayarinya

这篇文章主要介绍了PHP命名空间namespace的定义方法,结合实例形式详细分析了php命名空间namespace及子命名空间的定义方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了PHP命名空间namespace的定义方法。分享给大家供大家参考,具体如下:

定义命名空间

对于空间的命名,在此我想不用文字解释,更好的解释是用实例来证明:

For example:

下面这段代码是”test.php”里面的文件:

namespace Test;
class Test{
    public function Ttest(){
     echo "这是Test里面的测试方法"."<br>";
    }
}
Salin selepas log masuk

接下来我将用三种不同的方式进行访问,我把这三个访问程序写在一个名叫“index.php”的文件中:

方法一:

namespace Index;
require &#39;test.php&#39;;
$T=new \Test\Test();
$T->Ttest();
Salin selepas log masuk

所得结果为:

这是Test里面的测试方法

方法二:

namespace Index;
namespace Test;
require &#39;test.php&#39;;
$T=new Test();
$T->Ttest();
Salin selepas log masuk

所得结果为:

这是Test里面的测试方法

方法三:

namespace Index;
require &#39;test.php&#39;;
use Test\Test;
$T=new Test();
$T->Ttest();
Salin selepas log masuk

所得结果为:

这是Test里面的测试方法

注: namespace Index可写可不写,这只是index.php文件的空间命名。这三种方法所得结果都是一样的。

定义子命名空间

定义:

与目录和文件的关系很象,PHP 命名空间也允许指定层次化的命名空间的名称。因此,命名空间的名字可以使用分层次的方式定义。

实例如下图,这是我自定义的项目目录:

one.php

namespace projectOne\one;
class Test{
    public function test(){
     return "this is a test program";
    }
}
Salin selepas log masuk

为了访问one.php中Test类下的test()方法,我在Two中的代码如下:

Two.php

namespace projectOne\one;
require &#39;../projectOne/One.php&#39;;
$O=new Test();
echo $O->test();
Salin selepas log masuk

Output: this is a test program

同一文件中定义多个命名空间,它们之间相互访问

test.php

namespace projectOne\one{
    class test{
      public function hello(){
        return "helloworld";
      }
    }
}
namespace projectOne\Two{
    class project{
      public function world2(){
        return "welcome to china";
      }
    }
    class project2 extends \projectOne\one\test{
      public function wo(){
        return "this is my test function ,it is name wo";
      }
    }
}
namespace projectOne\Two{
    $p=new project2();
    echo $p->wo()."<br>";
    echo $p->hello();
}
Salin selepas log masuk

output: this is my test function ,it is name wo
helloworld

Atas ialah kandungan terperinci php namespace命名空间的定义方法实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan