Detailed explanation of how to define PHP namespace namespace

黄舟
Release: 2023-03-07 07:34:01
Original
1052 people have browsed it

This article mainly introduces the definition method of PHPnamespace, and analyzes the definition method and related methods of php namespace namespace and sub-namespace in detail in the form of examples.Notes, friends in need can refer to the following

The examples in this article describe the definition method of PHP namespace namespace. Share it with everyone for your reference. The details are as follows:

Define the namespace

For the naming of the space, I don’t want to explain it in words here. A better explanation is to use Example to prove:

For example:

The following code is the file in "test.php":

namespace Test;
class Test{
    public function Ttest(){
     echo "这是Test里面的测试方法"."<br>";
    }
}
Copy after login

Next I will Access in three different ways. I wrote these three access programs in a file named "index.php":

Method 1:

namespace Index;
require &#39;test.php&#39;;
$T=new \Test\Test();
$T->Ttest();
Copy after login

The result is:

This is the test method in Test

Method 2:

namespace Index;
namespace Test;
require &#39;test.php&#39;;
$T=new Test();
$T->Ttest();
Copy after login

The result obtained is:

This is the test method in Test

Method 3:

namespace Index;
require &#39;test.php&#39;;
use Test\Test;
$T=new Test();
$T->Ttest();
Copy after login

The result obtained For:

This is the test method in Test

Note: The namespace Index can be written or not. This is just the space name of the index.php file. The results obtained by these three methods are the same.

Define sub-namespaces

Definition:

Much like the relationship between directories and files, PHP namespaces also allow the specification of hierarchical namespaces The name. Therefore, namespace names can be defined in a hierarchical manner.

The example is as shown below. This is my customized project directory:

one.php

namespace projectOne\one;
class Test{
    public function test(){
     return "this is a test program";
    }
}
Copy after login

In order to access one.php The test() method under the Test class, my code in Two is as follows:

Two.php

namespace projectOne\one;
require &#39;../projectOne/One.php&#39;;
$O=new Test();
echo $O->test();
Copy after login

Output: this is a test program

defined in the same file Multiple namespaces, they access each other

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();
}
Copy after login

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

The above is the detailed content of Detailed explanation of how to define PHP namespace namespace. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template