![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Poszukiwałem już czegoś, co może mnie nakierować na sprawę i niejednokrotnie trafiłem na dyskusje dotyczące 'sporu' klasa statyczna<->singleton.
Natomiast nigdzie nie znalazłem oczywistej odpowiedzi na pytanie czym jest klasa statyczna. Na podstawie własnych wniosków wydaje mi się, że klasa statyczna to skrót myślowy, polegający na utworzeniu klasy, której wszystkie metody i zmienne są statyczne (czyli praktycznie wszystko, do czego chcę mieć dostęp przez Klasa::xx, Klasa::xx() musi być poprzedzona słówkiem static) Przykładem takiej klasy może być PDO, jednak nie dotarłem do źródła, na podstawie którego sam doszedłbym do tego, czego mi trzeba ![]() Do czego jest mi to potrzebne? Tworzę sobie na przykład dwie klasy, które będą zawsze jednoznaczne (nie będzie dwóch obiektów tego typu) i chcę by obie nawzajem zawsze się widziały. Można używać $GLOBALS, albo global, ale wydaje mi się to ułomne. Można nie stosować klas i nazwy funkcji poprzedzać dodatkowymi nazwami i korzystać z nich w globalnym zasięgu, ale to jest dość prymitywne. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
PDO nie jest klasą statyczną. Co do pojęcia klasy statycznej masz rację.
http://forum.php.pl/index.php?showtopic=122586&hl= -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Racja, z tym PDO oczywiście zagalopowałem się. Poza np. PDO::ATTR_ERRMODE i innymi i jakoś tak mi się utrwaliło w głowie i zaćmiło. Tyle, że akurat to trochę co innego ;
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Klasa statyczna to klasa statyczna, a nie klasa z wszystkimi metodami statycznymi. PHP klas statyczny nie obsługuje.
Przykład z Javy:
Edit: Cytat Poza np. PDO::ATTR_ERRMODE i innymi i jakoś tak mi się utrwaliło w głowie i zaćmiło. To jest stała, a stałe mają to do siebie, że są statyczne:
Ten post edytował Crozin 7.01.2011, 14:02:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:07 |