Home  >  Article  >  Backend Development  >  The editor will show you how to access the internal elements of the namespace (php version)

The editor will show you how to access the internal elements of the namespace (php version)

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-07-30 15:24:141821browse

In the previous article, we learned how to use namespaces. If necessary, please read "The editor will show you how to use namespaces (php version)". This time we will introduce to you how to access the internal elements of the namespace. You can refer to it if you need it.

We have introduced namespaces for so long, but we don’t know how to access the internal elements of the namespace. Isn’t this a bit unreasonable? Without further ado, let’s start learning how to access the internal elements of the namespace now. .

In the PHP namespace, there are two ways to access the internal elements of the current namespace. These two ways are the namespace keyword and the __NAMESPACE__ constant.

Let’s look at the __NAMESPACE__ constant first. First, create a small chestnut to facilitate our observation and understanding.

<?php
namespace MyProject;

echo &#39;"&#39;, __NAMESPACE__, &#39;"&#39;; // 输出 "MyProject"
?>

Let’s take a look at this little chestnut. When we use the constant “__NAMESPACE__”, it outputs the name of our current namespace. Isn’t it amazing? Do you feel this? Constants are very interesting. So what are you waiting for? Let’s introduce this constant __NAMESPACE__ in detail.

The value of the constant __NAMESPACE__ is a string containing the name of the current namespace. In the global scope, code that is not contained in any namespace contains the empty string and the constant __NAMESPACE__, which is also useful when creating names dynamically.

After learning the __NAMESPACE__ constant, let’s take a look at the namespace keyword.

Like the __NAMESPACE__ constant, let’s create a small example first.

<?php
namespace MyProject;

use blah\blah as mine; // 引入了 blah\blah 命名空间,并定义了个别名mine

mine\mine(); // 调用函数 blah\blah\mine()
namespace\blah\mine(); // 调用函数 MyProject\blah\mine()

namespace\func(); // 调用函数 MyProject\func()
namespace\sub\func(); // 调用函数 MyProject\sub\func()
namespace\cname::method(); // 调用 MyProject\cname 类的静态方法
$a = new namespace\sub\cname(); // 实例化 MyProject\sub\cname 类的对象
$b = namespace\CONSTANT; // 将常量 MyProject\CONSTANT 的值赋给 $b
?>

Let's take a look at this little chestnut and find that the most common thing in this code is actually "namespace". I was surprised. Does "namespace" have other functions? I guessed it correctly.

Using namespace can be used to explicitly access elements in the current namespace or sub-namespaces. It is equivalent to the self operator in classes.

That’s all. If you want to know anything else, you can click here. → →php video tutorial

The above is the detailed content of The editor will show you how to access the internal elements of the namespace (php version). For more information, please follow other related articles on the PHP Chinese website!

Statement:
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