Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Używanie interfacesu
gcdreak
post
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Witam!
Czy może mi ktoś wyjaśnić po co w poniższym kodzie jest użyty interface i jakie korzyści nam daje?(jakieś przykłady?).
Kod pochodzi ze strony: http://pl.wikibooks.org/wiki/PHP/Autoryzacja_i_logowanie
Wygląda tak:
Kod
interface storage {
    public function login($name, $pass);//1
}

Jest tam niby wyjaśnienie, ale nic mi ono nie mówi i kompletnie nie mogę dopasować do tego żadnego przykładu.
Przeglądnąłem już kilka stron i szukałem informacji w googlach nt tworzenia interfaców (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Proszę o wyjaśnienie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Od strony technicznej interfejs to sztuczny twór - jest to informacja dla programisty oraz interpretera, jaką funkcjonalność musi implementować pewna klasa, aby mogła być używana do określonego zadania. Weźmy na przykład tę autoryzację z Wikibooks - różne aplikacje mogą wspierać przechowywanie danych w różnych miejscach - w bazie danych, w plikach tekstowych, z ustawień systemu operacyjnego... system logowania dzięki interfejsowi może powiedzieć: jeśli chcesz dodać nowy mechanizm autoryzacji, musisz w swojej klasie zaimplementować następujące metody, gdyż ja za ich pomocą będę się z tym mechanizmem komunikować. A dzięki temu, że interfejs jest elementem języka oraz trzeba w takiej klasie zadeklarować implements mojInterfejs, system logowania ma możliwość sprawdzenia, że faktycznie dostał obiekt mechanizmu autoryzacji, z którego potrafi korzystać.

W językach ze statycznymi typami zmiennej idzie się jeszcze dalej - możesz stworzyć zmienną, której typem jest interfejs i podstawić pod nią każdy obiekt, który ten interfejs implementuje. Z poziomu tej zmiennej możesz jednak wywoływać jedynie metody, które zdefiniowane są w interfejsie, co jeszcze bardziej poprawia przejrzystość kodu i utrudnia jego przypadkowe rozwalenie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 19:30