Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet Schnittstelle in PHP?

Was bedeutet Schnittstelle in PHP?

王林
王林Original
2020-04-25 10:28:204488Durchsuche

Was bedeutet Schnittstelle in PHP?

Schnittstelle bezieht sich auf Schnittstelle (Schnittstelle). Sie können angeben, welche Methoden eine Klasse implementieren muss, Sie müssen jedoch nicht den spezifischen Inhalt dieser Methoden definieren.

Wir können eine Schnittstelle über die Schnittstelle definieren, genau wie die Definition einer Standardklasse, aber alle darin definierten Methoden sind leer.

Alle in der Schnittstelle definierten Methoden müssen öffentlich sein, was ein Merkmal der Schnittstelle ist.

Implementierung

Um eine Schnittstelle zu implementieren, können Sie den Implements-Operator verwenden. Die Klasse muss alle in der Schnittstelle definierten Methoden implementieren, andernfalls wird ein schwerwiegender Fehler gemeldet. Wenn Sie mehrere Schnittstellen implementieren möchten, können Sie die Namen mehrerer Schnittstellen durch Kommas trennen.

Hinweis:

1. Bei der Implementierung mehrerer Schnittstellen dürfen Methoden in den Schnittstellen nicht denselben Namen haben.

2. Schnittstellen können auch mithilfe des Extens-Operators vererbt werden.

Konstante

Konstante kann auch in der Schnittstelle definiert werden. Schnittstellenkonstanten und Klassenkonstanten werden genau gleich verwendet. Sie sind alle feste Werte und können nicht durch Unterklassen oder Unterschnittstellen geändert werden.

Beispiel für einen Schnittstellencode

<?php
 
// 声明一个&#39;iTemplate&#39;接口
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}
 
 
// 实现接口
// 下面的写法是正确的
class Template implements iTemplate
{
    private $vars = array();
  
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
  
    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace(&#39;{&#39; . $name . &#39;}&#39;, $value, $template);
        }
 
        return $template;
    }
}
 
// 下面的写法是错误的,会报错:
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();
  
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}
?>

Weitere verwandte Tutorials finden Sie auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonWas bedeutet Schnittstelle in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn