How to use PHPnamespace

php中世界最好的语言
Release: 2023-03-22 07:24:01
Original
1829 people have browsed it

This time I will show you how to use PHPnamespace, what are the precautions when using PHPnamespace, the following is a practical case, let's take a look.

The examples in this article describe the PHP namespacenamespace definition and import use usage. Share it with everyone for your reference, the details are as follows:

In PHP, functions or classes with the same name are not allowed. In order to prevent repeated conflicts in class names or function names defined by programmers in the project, the concept of namespace was introduced in PHP5.3.

1. Namespace means dividing the code into different spaces. The class names in different spaces are independent of each other and do not conflict with each other. Multiple namespaces can exist in a php file, and there cannot be any code before the first namespace. The code after the content space declaration belongs to this namespace , for example:

<?php
echo 111;  //由于namespace前有代码而报错
namespace Teacher;
class Person{
  function construct(){
   echo &#39;Please study!&#39;;
  }
}
Copy after login

2. When calling classes or methods in different spaces, the namespace must be specified. For example:

<?php
namespace Teacher;
class Person{
  function construct(){
   echo &#39;Please study!<br/>';
  }
}
function Person(){
  return 'You must stay here!';
};
namespace Student;
class Person{
  function construct(){
   echo 'I want to play!<br/>';
  }
}
new Person();     //本空间(Student空间)
new \Teacher\Person();   //Teacher空间
new \Student\Person();   //Student空间
echo \Teacher\Person();   //Teacher空间下Person函数
Copy after login

Output:

I want to play!
Please study!
I want to play!
You must stay here!
Copy after login

3. Other files introduced into the namespace will not belong to this namespace, but belong to the public space or the file itself. namespace. Example:

First define a 1.php and 2.php file:

<?php  //1.php
class Person{
 function construct(){
   echo 'I am one!<br/>';
  }
}
Copy after login
<?php
namespace Newer;
require_once './1.php';
new Person();  //报错,找不到Person;
new \Person();  //输出 I am tow!;
Copy after login
<?php  //2.php
namespace Two
class Person{
 function construct(){
   echo 'I am tow!<br/>';
  }
}
Copy after login
<?php
namespace New;
require_once './2.php';
new Person();  //报错,(当前空间)找不到Person;
new \Person();  //报错,(公共空间)找不到Person;
new \Two\Person(); //输出 I am tow!;
Copy after login

4. Let’s look at how to use use: (after use Quotecan be abbreviated)

namespace School\Parents;
class Man{
  function construct(){
   echo 'Listen to teachers!<br/>';
  }
}
namespace School\Teacher;
class Person{
  function construct(){
   echo 'Please study!<br/>';
  }
}
namespace School\Student;
class Person{
  function construct(){
   echo 'I want to play!<br/>';
  }
}
new Person();     //输出I want to play!
new \School\Teacher\Person(); //输出Please study!
new Teacher\Person();   //报错
----------
use School\Teacher;
new Teacher\Person();   //输出Please study!
----------
use School\Teacher as Tc;
new Tc\Person();   //输出Please study!
----------
use \School\Teacher\Person;
new Person();   //报错
----------
use \School\Parent\Man;
new Man();   //报错
Copy after login

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

PHP directly implements the generation of poster advertisements

##PHP determines whether WeChat or browser opens

How to query different databases with one SQL statement

JS gets the first element in the select drop-down box value

The above is the detailed content of How to use PHPnamespace. 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