Mysql
 sql >> Baza danych >  >> RDS >> Mysql

połączenie z bazą danych php singleton, czy ten kod jest złą praktyką?

Singletony to zła wiadomość.

  • Wprowadzają do programu stan globalny. Większość programistów powinna wiedzieć, dlaczego stan globalny jest zły.
  • Wprowadzają ścisłe sprzężenie między singletonem a dowolną klasą, która go używa. Oznacza to, że nie możesz ponownie użyć klas, o których mowa, bez ponownego użycia singletona.
  • Sprawiają, że testowanie jednostkowe klas, które zależą od singletona, jest problematyczne, ponieważ nie można łatwo zastąpić singletona próbą.
  • Zachęcają do stylu kodowania, w którym klasy próbują rozwiązać własne zależności. Jest to złe, ponieważ może zmniejszyć jasność co do tego, jakie zależności ma klasa.
  • PHP posiada architekturę Share Nothing, co oznacza, że ​​singletony PHP wcale nie są singletonami, może istnieć wiele instancji jednocześnie (jedna na otwarte żądanie).
  • Co się stanie, jeśli później nagle odkryjesz, że faktycznie potrzebujesz więcej niż jednego zasobu dostarczanego przez singletona? To bardziej powszechny scenariusz, niż mogłoby się wydawać

Lepiej przyjrzyj się zamiast tego, ponieważ rozwiązuje powyższe problemy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zatrzymać/uruchomić MySQL za pomocą MySQL Workbench

  2. Wybierz najlepsze odrębne wyniki uporządkowane według częstotliwości

  3. OperationalError:(2002, Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/var/run/mysqld/mysqld.sock' (2))

  4. mysql ERROR 1064 (42000):Wystąpił błąd w składni SQL;

  5. Użyj wyzwalacza, aby zatrzymać wstawianie lub aktualizację