sql >> Databasteknik >  >> RDS >> Mysql

php singleton databasanslutning, är denna kod dålig praxis?

Singlar är dåliga nyheter.

  • De introducerar globala tillstånd i ett program. De flesta programmerare borde vara bekanta med varför det globala tillståndet är dåligt.
  • De introducerar tät koppling mellan singeln och vilken klass som helst som använder den. Det betyder att du inte kan återanvända klasserna i fråga utan att också återanvända singeln.
  • De gör enhetstester av klasser som är beroende av singeln problematiska eftersom du inte enkelt kan ersätta singeln med en hån.
  • De uppmuntrar en kodningsstil där klasser försöker lösa sina egna beroenden. Detta är dåligt eftersom det kan minska klarheten angående vilka beroenden klassen har.
  • PHP har en Share Nothing Architecture, vilket betyder att PHP-singlar inte alls är singlar, det kan finnas flera instanser vid liv samtidigt (en per öppen begäran).
  • Vad händer om du plötsligt vid något senare tillfälle upptäcker att du faktiskt behöver mer än en av resurserna som tillhandahålls av singeln? Det är ett vanligare scenario än du kanske tror

Det är bättre att titta på istället eftersom det löser ovanstående problem.



  1. FLOOR() Exempel i SQL Server

  2. Skicka array till MySQL-lagrad rutin

  3. MySQL -- Uppdatera om det finns annat infoga med två nycklar

  4. Hur REPLACE() fungerar i MariaDB