當前位置:名人名言大全網 - 端午節短信 - php接口怎麽寫?

php接口怎麽寫?

PHP接口

嚙合/界面

使用接口,可以指定壹個類必須實現哪些方法,但不需要定義這些方法的具體內容。

我們可以通過interface定義壹個接口,就像定義壹個標準類壹樣,但是裏面定義的方法都是空的。

接口中定義的所有方法都必須是公共的,這是接口的特點。

實現

要實現接口,可以使用implements運算符。接口中定義的所有方法都必須在類中實現,否則將報告致命錯誤。如果要實現多個接口,可以用逗號分隔多個接口的名稱。

註意:

當實現多個接口時,接口中的方法不能有重復的名稱。

註意:

也可以通過使用extends運算符來繼承接口。

常數

常量也可以在接口中定義。接口常量和類常量的用法完全相同。它們都是固定值,不能被子類或子接口修改。

模型

示例#1接口代碼示例

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

//聲明壹個“iTemplate”接口。

接口項目板

{

公共函數setVariable($name,$ var);

公共函數get html($ template);

}

//實現接口

//以下寫法正確。

類模板實現iTemplate

{

private $ vars = array();

公共函數setVariable($name,$var)

{

$ this-& gt;vars[$ name]= $ var;

}

公共函數getHtml($template)

{

foreach($ this-& gt;變量作為$ name = & gt$value) {

$template = str_replace('{ '。$name。} ',$value,$ template);

}

返回$ template

}

}

//下面寫的不對,會報錯:

//致命錯誤:BadTemplate類包含1個抽象方法

//因此必須聲明為抽象的(iTemplate::getHtml)

BadTemplate類實現iTemplate

{

private $ vars = array();

公共函數setVariable($name,$var)

{

$ this-& gt;vars[$ name]= $ var;

}

}

& gt

示例#2可擴展接口

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

接口a

{

公共函數foo();

}

接口b擴展了a

{

公共函數Baz(Baz $ Baz);

}

//拼寫正確

c類實現b

{

公共函數foo()

{

}

公共職能baz(Baz $baz)

{

}

}

//寫錯了會導致致命錯誤。

d類實現b

{

公共函數foo()

{

}

公共函數baz(Foo $foo)

{

}

}

& gt

示例#3多個接口之間的繼承

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

接口a

{

公共函數foo();

}

接口b

{

公共功能欄();

}

接口c擴展了a、b

{

公共函數baz();

}

d類實現c

{

公共函數foo()

{

}

公共功能欄()

{

}

公共函數baz()

{

}

}

& gt

例4使用了接口常量。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

接口a

{

const b = '接口常數';

}

//輸出接口常數

echo a::b;

//寫錯了,因為常量的值不能修改。接口常量的概念與類常量的概念相同。

類b實現了壹個

{

const b = '類常數';

}

& gt

也可以看看instanceof關鍵字的文檔。