Mysql
 sql >> база данни >  >> RDS >> Mysql

php връзка с единична база данни, лоша практика ли е този код?

Сингълтоните са лоша новина.

  • Те въвеждат глобално състояние в програма. Повечето програмисти трябва да са запознати с това защо глобалното състояние е лошо.
  • Те въвеждат тясна връзка между сингълтона и всеки клас, който го използва. Това означава, че не можете да използвате повторно въпросните класове, без да използвате повторно и сингълтона.
  • Те правят единичното тестване на класове, които зависят от сингълтона, проблематично, защото не можете лесно да замените сингълтона с макет.
  • Те насърчават стил на кодиране, при който класовете се опитват да разрешат собствените си зависимости. Това е лошо, защото може да намали яснотата относно това какви зависимости има класът.
  • PHP има архитектура за споделяне на нищо, което означава, че PHP сингълтоните изобщо не са сингълтони, може да има няколко живи екземпляра по всяко време (по един на отворена заявка).
  • Какво ще стане, ако внезапно откриете на по-късна дата, че всъщност имате нужда от повече от един ресурс, който се предоставя от сингълтона? Това е по-често срещан сценарий, отколкото си мислите

По-добре е да погледнете вместо това, тъй като решава горните проблеми.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разберете дали името на колона е запазена ключова дума в различни бази данни

  2. Как да заменя идентификаторите на отдели, разделени със запетая, съответно с тяхното име?

  3. Разлика между лявото съединение и лявото външно съединение

  4. MYSQL Изберете MAX дата в израза за присъединяване

  5. Laravel Eloquent срещу конструктор на заявки - Защо да използвате eloquent за намаляване на производителността