PHP permette di definire interfacce molto allo stesso modo di linguaggi come Java e C #.
Un'interfaccia è un contratto che la classe di implementazione deve seguire. Pertanto, al fine di una costante o una funzione di un'interfaccia per essere visto da tutte le altre classi costanti o funzioni devono essere resi pubblici.
Uno dei motivi principali vengono utilizzati interfacce è che si ferma il problema di ereditarietà multipla. In ereditarietà multipla se una classe estende due classi con lo stesso metodo non saprà quale ereditare.
Usando interfacce PHP permette interfacce multiple, ma non ereditarietà multipla. Se una classe implementa due interfacce con lo stesso metodo che viene generato un errore.
Una funzione in una interfaccia non è effettivamente attuato invece si tratta di un contratto, per cui la classe di applicazione deve avere una funzione della stessa firma con lo stesso numero di parametri.
A differenza di altri linguaggi PHP consente di mettere costanti in una interfaccia che può essere un modo molto utile per condividere costanti tra le classi.
Le interfacce sono definite come segue.