Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Metody statyczne..., czy one spełniają swoją funkcję?
Mejdej
post
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. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Tak, to normalne. PHP jako język, z mnóstwem naleciałości z poprzednich wersji, nie wymaga podawania kwantyfikatora static dla metod statycznych. A jako język skryptowy ewentualny błąd wyrzuci dopiero runtime.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 01:52