В приложении CMS, таком как WordPress, CMS загружает только плагины, а затем плагины запрашивают свои зависимости (например, базы данных, конфигурации и т. Д.) От CMS, которая действует как реестр.
Я не видел приложение CMS, написанное на PHP, которое не использует этот шаблон (или анти-шаблон). Все они так или иначе используют реестр, например:
craft()->request->getPost('id') (craft)
или же
global $wpdb;
$wpdb->insert($table, $data); (wp)
или же
$db = Database::getConnection(); (drupal)
или же
$db = JFactory::getDbo(); (joomla)
Следовательно, правильно ли говорить, что одноэлементные шаблоны неизбежны для такого типа приложений?
Поэтому одноэлементные шаблоны неизбежны для приложений такого типа, верно?
Я не могу сказать, что это прямо вперед.
Синглтон — это шаблон дизайна, а не требование.
На самом деле, большинство разработчиков реализуют шаблоны проектирования, даже не зная об этом.
Могу поспорить, что если кто-то будет очень стараться, он найдет способ полностью избежать Синглтона.
Я не уверен, почему это беспокоит тебя. но это лучший ответ, который я могу дать.
Многие (возможно, все?) Системы управления контентом используют это объектно-ориентированное php-программирование, поскольку это самый чистый и приятный способ написания кода. Конечно, этого можно избежать, но код больше не остается таким структурированным.
Если вы находите это странным, вы должны научиться использовать его, и вы увидите, что это очень чистый способ написания кода.
Более подробную информацию можно найти здесь:
http://code.tutsplus.com/tutorials/object-oriented-php-for-beginners—net-12762
и здесь: