Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Metody statyczne..., czy one spełniają swoją funkcję?
Mejdej
post 11.08.2011, 10:12:07
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.01.2010

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


Cześć,

dzisiaj odkryłem coś co mnie bardzo zdziwiło. Czy to normalne, że każdą metodę publiczną można odpalić jak statyczną mimo, że nie jest ona statyczna? Bardzo mnie to zdziwiło.

Oto przykład tego o czym mówię. Skrypt zwraca dwukrotnie napis "cos tam...", a według mnie nie powinien.

  1. <?php
  2. class A
  3. {
  4. public function cosu()
  5. {
  6. print 'cos tam...';
  7. }
  8.  
  9. }
  10.  
  11. class B
  12. {
  13. public function __construct()
  14. {
  15.  
  16. // tak nie powinno dzialac
  17. A::cosu();
  18.  
  19. // A to powinna być jedyna dopuszczalan metoda
  20. $zmm = new A();
  21. $zmm -> cosu();
  22.  
  23. }
  24. }
  25.  
  26. $zmienna = new B();
  27. ?>


--------------------
porównanie lokat
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post 11.08.2011, 10:15:55
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jak włączysz wyższy poziom raportowanie błędów to PHP ci to zgłosi. Generalnie nie powinno się tego robić. Funkcje statyczne to pomocnicy w pewnej dziedzinie problemu. Np sformatowanie jakieś liczby według podanych parametrów. Często są tez używane we wzorcu "Fabryka".


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:12