Вопрос по большой части про безопасность. Не могу определиться какой подход лучше для систем с постоянно активными более 100 пользователей:
db
, который создает новый экземпляр класса Database
. В его конструкторе сразу открывается соединение с базой. Все дальнейшие обращения будет на уровне: Application::$app->db->...
.new Database
) только в том месте, где надо.В первом случае, меня беспокоит постоянно открытое соединение на пользователя, а во втором - большое количество соединение на работу с одной странице (до перезагрузки).
В первом случае, меньшее число соединений (единственное на пользователя), во втором - нет постоянно открытого соединения.
Подскажите, как лучше поступить и что из этого выбрать.
В некоторых распространенных фреймворках этот вопрос решается обычно достаточно просто - или использованием паттерна Singleton ("Одиночка") для запроса соединения с базой, или неявным созданием опять же одного объекта DAO для доступа к данным (которое остается скрытым "под капотом") при обращении к модели. Таким образом, и соединение не открывается пока не потребуется (а если не требуется - вообще не откроется), и соединение имеется в количестве адын штук на обрабатываемый HTTP-запрос, чего в подавляющем большинстве случаев хватает.
Примеры организации соединений с БД: Laravel, Yii.
Про Symfony писать не буду, там возможны различные разности - и Doctrine, и Eloquent, и черт в ступе, и лягушка в супе.
Таким образом, по практике использования можно сделать вывод - лучше всего создание соединения с БД "спрятать под капот" при обращении к высокоуровневым операциям, и "не светить" в таких местах, как контроллер. Хотя, если Вы (как и я) предпочитаете в некоторых случаях осуществлять "закат солнца вручную" и "после сборки обработать напильником" для достижения оптимальной производительности - посмотрите в сторону Singleton'а и пакета Capsule.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
купил движок, и у меня почемуто не работает фильтр (payout_method)Но остальные работают, могли бы подсказать из-за чего так происходит, и как это...
подскажите пожалуйста есть письма заголовки писем, подскажите как убрать Re[ ]: регулярным выражением php
Переходя на ссылку поста не получается получить пост из the_post код следующий