Fornirò un esempio in cui ho utilizzato le interfacce nella mia esperienza del mondo reale.
Le interfacce sono estremamente utili quando è necessario definire qualcosa come un'architettura di plugin. Supponiamo che la tua applicazione accetti i plugin di autenticazione, consentendo ai tuoi implementatori di utenti finali di integrarsi con le loro proprie infrastrutture di autenticazione interne (LDAP, Shibboleth, alcuni database di autenticazione personalizzati, qualsiasi cosa). Affinché un plugin per essere compatibili, deve implementare i metodi seguenti:
validate_user()
start_user_session()
logout_user()
get_user_details()
Se definito in un'interfaccia, una classe implementa poi l'interfaccia garantire che i metodi necessari sono presenti per compatibilità con l'architettura plugin.
Sfortunatamente, PHP non applica il tipo di restituzione dei metodi di interfaccia, quindi è sufficiente fare attenzione a documentare la funzionalità di restituzione prevista dei metodi.
fonte
2011-09-11 19:39:11
Dato che PHP non ha un rigoroso controllo di tipo e utilizza piuttosto una digitazione anatra, sono d'accordo. Penso che l'uso delle interfacce aiuti a comprendere il tuo codice comunque. –
@Micheal Mior: PHP conosce il tipo di suggerimento: 'function foo (BarClass $ x) {echo $ x-> ciao; } ' – KingCrunch
@KingCrunch Lo fa, ma non è infallibile. – GolezTrol