首頁 > 後端開發 > PHP問題 > php什麼是接口

php什麼是接口

(*-*)浩
發布: 2023-02-24 11:44:01
原創
3563 人瀏覽過

PHP介面 

php什麼是接口

#使用介面(interface),可以指定某個類別必須實作哪些方法,但不需要定義這些方法的具體內容。

介面是透過 interface 關鍵字來定義的,就像定義一個標準的類別一樣,但其中定義所有的方法都是空的。

介面中定義的所有方法都必須是公有,這是介面的特性。 (推薦學習:PHP程式設計從入門到精通

實作(implements)

要實作一個接口,使用implements 運算符。類別中必須實作介面中定義的所有方法,否則會報一個致命錯誤。類別可以實作多個接口,用逗號來分隔多個接口的名稱。

Note:

實作多個介面時,介面中的方法不能有重名。

Note:

介面也可以繼承,透過使用 extends 運算元。

Note:

類別要實作接口,必須使用和介面中所定義的方法完全一致的方式。否則會導致致命錯誤。

介面實例

<?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;
    }
}
?>
登入後複製

以上是php什麼是接口的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板