Я собираюсь создать глобальную переменную $PDO
, чтобы использовать вместе с моим скриптом внутри классов, функций и моего кода. Так может ли это произойти нарушение безопасности?
Я использую отдельное соединение каждый раз. должен ли я придерживаться этого или использовать глобальный объект PDO?Глобальная переменная подключения или новая каждый раз
ответ
Это действительно зависит от вашего приложения, так как могут быть случаи, когда вы хотите управлять несколькими подключениями. Однако во многих случаях имеет смысл открыть только одно соединение для использования в процессе обработки одного запроса. Это помогает устранить накладные расходы на открытие/закрытие соединений по всему коду. Я бы предположил, что в большинстве случаев безопасность не будет большой проблемой, если вы не планируете передавать соединение БД с набором кода, который не должен иметь разрешений БД, связанных с этим конкретным соединением (возможно, библиотеки или службы, которые вы не контролируйте).
Я также предлагаю вам взглянуть на концепцию инъекции зависимостей, так как в большинстве случаев было бы предпочтительнее передавать экземпляр объекта БД на фрагменты кода, который ему нужен, а не рассматривать его как глобальный и просто используйте ключевое слово global
для доступа к нему. Это поможет избежать необходимости копировать код в каждом классе/функции, чтобы проверить, имеет ли БД соединение и т. Д. Если у вас есть один класс, который делает это, и вы можете передать этот объект вокруг классам, которые в нем нуждаются, им может быть гарантировано, что объект будет делать то, что он должен делать.
- 1. Psexec или WMI - новая сессия каждый раз?
- 2. Новая ссылочная переменная Каждый раз, когда я создаю объект?
- 3. Почему моя глобальная переменная не увеличивается каждый раз
- 4. Есть ли новая переменная, созданная каждый раз в цикле?
- 5. Локальная переменная или статическая переменная или глобальная переменная
- 6. Oracle Глобальная константа или переменная?
- 7. C# новая переменная или ссылка?
- 8. Глобальная переменная, не обновляющаяся
- 9. Безопасность и глобальная переменная
- 10. Laravel: глобальная переменная запроса?
- 11. Глобальная переменная в nanoc
- 12. Глобальная переменная в Swift
- 13. Переменная глобальная переменная?
- 14. Глобальная переменная модуля
- 15. Суммировать строку каждый раз, когда новая вставка данных в php
- 16. javascript - Глобальная переменная
- 17. глобальная переменная в javascript?
- 18. struct как глобальная переменная
- 19. Глобальная доступность строки подключения
- 20. Глобальная переменная, затронутая потоками
- 21. Javascript глобальная переменная вопрос
- 22. Глобальная переменная в декораторе
- 23. Parallel.ForEach и глобальная переменная
- 24. Глобальная переменная в C++
- 25. Член класса Python или глобальная переменная
- 26. В быстром, глобальная переменная или свойство?
- 27. Глобальная переменная (или альтернатива) в .NET.
- 28. глобальная переменная в C статична или нет?
- 29. Нужна глобальная переменная NSTimer, или нечто подобное
- 30. Javascript аргумент Функция Параметр или глобальная переменная