Maison  >  Article  >  développement back-end  >  Que signifie l’interface en php ?

Que signifie l’interface en php ?

王林
王林original
2020-04-25 10:28:204488parcourir

Que signifie l’interface en php ?

Interface fait référence à interface. En utilisant interface (interface), vous pouvez spécifier les méthodes qu'une classe doit implémenter, mais vous n'avez pas besoin de définir le contenu spécifique de ces méthodes.

Nous pouvons définir une interface via interface, tout comme définir une classe standard, mais toutes les méthodes qui y sont définies sont vides.

Toutes les méthodes définies dans l'interface doivent être publiques, ce qui est une caractéristique de l'interface.

Implémentation

Pour implémenter une interface, vous pouvez utiliser l'opérateur Implements. La classe doit implémenter toutes les méthodes définies dans l'interface, sinon une erreur fatale sera signalée. Si vous souhaitez implémenter plusieurs interfaces, vous pouvez utiliser des virgules pour séparer les noms de plusieurs interfaces.

Remarque :

1. Lors de l'implémentation de plusieurs interfaces, les méthodes dans les interfaces ne peuvent pas avoir le même nom.

2. Les interfaces peuvent également être héritées en utilisant l'opérateur extends.

Constante

La constante peut également être définie dans l'interface. Les constantes d'interface et les constantes de classe sont utilisées exactement de la même manière. Ce sont toutes des valeurs fixes et ne peuvent pas être modifiées par des sous-classes ou des sous-interfaces.

Exemple de code d'interface

<?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;
    }
}
?>

Pour plus de didacticiels connexes, veuillez visiter le site Web chinois php.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn