Home >Backend Development >PHP Tutorial >In five minutes, I will show you the interface declaration and application in PHP (detailed examples)

In five minutes, I will show you the interface declaration and application in PHP (detailed examples)

WBOY
WBOYOriginal
2021-10-26 14:38:114197browse

In the previous article, I brought you "How to set up, obtain and delete Session in PHP? ", which introduces in detail how to set up, obtain and delete Session in PHP. In this article, we will take a look at the relevant knowledge of the interface interface in PHP. I hope it will be helpful to everyone!

In five minutes, I will show you the interface declaration and application in PHP (detailed examples)

In our previous study, we learned about PHP inheritance, but PHP only supports single inheritance, which means that each class can only inherit one parent class. The characteristics of inheritance simplify the creation of objects and classes and increase the reusability of code. In order to solve the problem that PHP only supports single inheritance, PHP introduced interfaces. The interface can be understood as a special abstract class, and it can be regarded as a special class. Next, let's take a look at the relevant knowledge of the PHP interface.

Declaration of interface

Since the interface is a special class, it has its declaration method. It's called interface technology. We know from previous studies that normal class declarations are declared using the "class" keyword. Since the interface is special, the normal declaration method will not be used. Instead, the "interface" keyword is used. To implement the declaration of the interface.

Declare the interfaceinterface The syntax format of the keyword is as follows:

interface 接口名称{
// 常量成员
 // 抽象方法
}

What needs to be noted is:

  • All methods in the interface are abstract methods and do not need to be modified with the abstract keyword before the method. Because the default permission is public public, there is no need to modify it with public access permission in the interface.

  • You can only use the const keyword in the interface to set member properties of constant types, and variables cannot be declared in the interface.

  • Interfaces cannot be instantiated as objects. Interfaces can directly use the interface name to obtain the value of constant members outside the interface.

Let’s take a look at the example. The example is as follows:

<?php
    interface Demo{
        const STUDY = &#39;好好学习&#39;;
        const STUDY1 = &#39;天天向上&#39;;
        function fun1();
        function fun2();
    }
    echo Demo::STUDY.&#39;<br>&#39;;
    echo Demo::STUDY1;
?>

Output result:

In five minutes, I will show you the interface declaration and application in PHP (detailed examples)

# #Thus we complete the declaration of the interface through the interface keyword.

Application of interface

Interface cannot be instantiated, so if you want to use the members of the interface, just Need to use subclasses. We can achieve interface inheritance through the

implements keyword. If there are multiple interfaces to inherit, , must be used to separate each interface.

While inheriting the interface through the

implements keyword, you can also use the extends keyword to inherit a class. It can be understood that you can implement multiple interfaces while inheriting a class. It should be noted that you must first use extends to inherit the class and then use implements to implement multiple interfaces. Its syntax format is as follows:

class 类名 extends 父类名 implements 接口一, 接口二, ..., 接口 n {
// 实现所有接口中的抽象方法
}

Let’s take a look at the application of the interface through an example. The example is as follows:


<?php
    interface Demo{
        const STUDY = &#39;好好学习&#39;;
        const STUDY1 = &#39;天天向上&#39;;
        function fun1();
        function fun2();
    }
    class Website implements Demo{
        public function fun1(){
            echo self::STUDY.&#39;<br>&#39;;
        }
        public function fun2(){
            echo self::STUDY1;
        }
    }
    $obj = new Website();
    $obj -> fun1();
    $obj -> fun2();
?>

Output result:

In five minutes, I will show you the interface declaration and application in PHP (detailed examples)

What you need to pay attention to after running is: Since the methods in the interface are inherited through subclasses, all methods in the interface must be implemented in the subclass, otherwise PHP will cause an error message.

Not only are the applications of the above examples, we can also use the extends keyword to let one interface inherit another interface to achieve extensions between interfaces. In the following example, first define an interface One, and then define an interface Two to inherit One:

The example is as follows:

    interface One{
        function fun1();
        function fun2();
    }
    interface Two extends One{
        function fun3();
        function fun4();
    }

Also, if you need to use an abstract class to implement the interface Some methods also need to use the implements keyword.

Examples are as follows:

    interface Demo{
        function fun1();
        function fun2();
    }
    abstract class Website implements Demo{
        public function fun2(){
            ... ... ;
        }
        abstract function fun3();
    }

After giving so many examples, what is the specific role of the interface? We can regard the interface as a template or class specification for a class. When developed by multiple people, At this time, everyone implements part of the interface as needed and follows the regulations of this class. This is when the PHP interface comes into play.

If you are interested, you can click on "

PHP Video Tutorial" to learn more about PHP knowledge.

The above is the detailed content of In five minutes, I will show you the interface declaration and application in PHP (detailed examples). 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