• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

getInstance() - do czego służy?

Object Storage Arubacloud
0 głosów
1,884 wizyt
pytanie zadane 21 maja 2016 w PHP przez Pampi Początkujący (390 p.)

Witam,
jakiś czas temu byłem na praktykach z języka PHP. Dziś piszę projekt, w którym wzoruję się na kodzie z praktyk ;) 
Jednak nie pamiętam i nie rozumiem części kodu... Wiem, że każdy programista może nazywać funkcje według własnego "widzi mi się" jednak ufam, że osoba prowadząca praktyki kierowała się jakimś standardem ;)
Jak już pisałem kod nie jest jedynie mój, a już na pewno nie ten fragment, więc pozwolę sobie na wklejenie tutaj tylko najistotniejszej jego części.
Ps: Kod dotyczy klasy Database, która pozwalała m.in. na łączenie się z bazą przez PDO.

class Database
{
   
    protected static $instance = null;

    [...]

    public static function getInstance() {
        if (!isset(self::$instance)) {
            self::$instance = new self();
        }

        return self::$instance;
    }

    [...]

}

 

1 odpowiedź

+4 głosów
odpowiedź 21 maja 2016 przez Magicone Nałogowiec (45,100 p.)
Jest to po prostu singleton, jeśli instancja owej klasy została już utworzona, to po prostu ją zwraca. W przeciwnym wypadku tworzy ją i zapisuje jako zmienna statyczna klasy.
komentarz 21 maja 2016 przez Boshi VIP (100,240 p.)
Jeszcze powinien być prywatny konstruktor.
komentarz 21 maja 2016 przez Pampi Początkujący (390 p.)
jest konstruktor, jednak m.in go pominąłem ;)
komentarz 21 maja 2016 przez Pampi Początkujący (390 p.)

Singleton, czyli funkcja mająca ograniczyć ilość obiektów do jednego, tak? Dobrze wygooglowałem? :D

komentarz 21 maja 2016 przez Boshi VIP (100,240 p.)
Tak ogólnie to Singleton nie jest zbyt polecany jeżeli chodzi o bazę danych.

Tak, jedna instancja.
1
komentarz 21 maja 2016 przez efiku Szeryf (75,160 p.)
edycja 22 maja 2016 przez efiku
To chyba osoba początkująca robila ten projekt :) bo senior nie użyje Singletona... tak tylko mowie :)
komentarz 21 maja 2016 przez Pampi Początkujący (390 p.)
raczej praktykanci byli początkujący ;)
komentarz 21 maja 2016 przez Pampi Początkujący (390 p.)
@Boshi więc co jest lepszym pomysłem przy bazie?
1
komentarz 21 maja 2016 przez efiku Szeryf (75,160 p.)
Di , Container
2
komentarz 21 maja 2016 przez efiku Szeryf (75,160 p.)
Albo po prostu Doctrine
komentarz 21 maja 2016 przez Comandeer Guru (601,890 p.)

senior nie nie użyje Singletona...

Masz rację – nie nie użyje ;) 

komentarz 22 maja 2016 przez efiku Szeryf (75,160 p.)
Ło matko, poprawione :D

Podobne pytania

0 głosów
3 odpowiedzi 98 wizyt
0 głosów
1 odpowiedź 244 wizyt
pytanie zadane 20 maja 2019 w PHP przez manager96 Bywalec (2,050 p.)
0 głosów
0 odpowiedzi 462 wizyt
pytanie zadane 21 listopada 2018 w PHP przez Cichy799 Nowicjusz (200 p.)

92,596 zapytań

141,446 odpowiedzi

319,720 komentarzy

61,981 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...