Heim > Backend-Entwicklung > PHP-Problem > PHP, was ist eine Schnittstelle?

PHP, was ist eine Schnittstelle?

(*-*)浩
Freigeben: 2023-02-24 11:44:01
Original
3562 Leute haben es durchsucht

PHP-Schnittstelle

PHP, was ist eine Schnittstelle?

Mit der Schnittstelle können Sie angeben, welche Methoden eine Klasse implementieren muss, aber die Der spezifische Inhalt dieser Methoden muss nicht definiert werden.

Eine Schnittstelle wird über das Schlüsselwort interface definiert, genau wie die Definition einer Standardklasse, aber alle darin definierten Methoden sind leer.

Alle in der Schnittstelle definierten Methoden müssen öffentlich sein. Dies ist eine Eigenschaft der Schnittstelle. (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Beherrschung)

Implementierungen (Implementierungen)

Um eine Schnittstelle zu implementieren, verwenden Sie die Implementierungen Betriebssymbol. Die Klasse muss alle in der Schnittstelle definierten Methoden implementieren, andernfalls wird ein schwerwiegender Fehler gemeldet. Eine Klasse kann mehrere Schnittstellen implementieren. Verwenden Sie Kommas, um die Namen mehrerer Schnittstellen zu trennen.

Hinweis:

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

Hinweis:

Schnittstellen können auch vererbt werden, indem der Extens-Operator verwendet wird.

Hinweis:

Um eine Schnittstelle zu implementieren, muss eine Klasse die in der Schnittstelle definierten Methoden auf genau die gleiche Weise verwenden. Andernfalls kommt es zu einem schwerwiegenden Fehler.

Schnittstelleninstanz

<?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;
    }
}
// 下面的写法是错误的,会报错,因为没有实现 getHtml():
// 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;
    }
}
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPHP, was ist eine Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage