Я только что увидел это в первый раз. Я понятия не имел, что вы можете создать экземпляр класса mysqli, сделав что-то вроде
new mysqli( $host, $username, $password, $db );
Это совершенно новое для меня … Каждый учебник, который я видел в Интернете или в книгах при подключении к базе данных, делает что-то вроде этого:
$conn = mysqli_connect( $host, $username, $password, $db ); if ( !$conn ) { die( 'Sorry, could not connect'); }
Есть ли причина, почему большинство учебников делают это процедурный путь? Даже в учебниках, которые я видел при создании отдельного класса базы данных, скажите мне использовать процедурный код стиля …
В чем разница с процедурой mysqli vs oop? Есть ли? Должен ли я устанавливать какие-либо расширения какого-либо типа или я могу только начать использовать в своем коде? Total newb здесь, так что не совсем уверен.
Кроме того, когда полезно использовать PDO vs mysqli? Используется ли PDO чаще всего разработчиками, работающими в крупных корпоративных приложениях? Или это просто вопрос предпочтения.
Спасибо за любую помощь …
обучение php быстро стало привыкание … Я просто хочу узнать все больше и больше.
99% уроков PHP в Интернете устарели, защищают ужасный код или пишут люди, которые, вероятно, не должны преподавать PHP (и, как правило, все выше). Вы должны найти горстку хороших .
PDO, как правило, предпочитает mysqli разработчиками, включая меня. Во-первых, он может обрабатывать гораздо больше баз данных, чем просто MySQL.
Большинство функций mysqli_*
– это псевдонимы объектных методов (PHP внутренне позволяет легко с макросом C, поэтому многие расширения используют этот подход). Но доступность также знакома, поэтому пользователям старых функций mysql легче перейти на новый интерфейс. Использование ООП или процедурного интерфейса действительно просто стиль / предпочтение.
PDO обычно предпочтительнее в настоящее время, но он не предоставляет много функций, специфичных для mysql. Таким образом, могут существовать некоторые варианты использования расширения mysqli.
Чтобы ответить на ваши вопросы с практической точки зрения
Есть ли причина, почему большинство учебников делают это процедурный путь?
Достаточно сказать, что причины не связаны с технологией.
В чем разница с процедурой mysqli vs oop? Есть ли?
Нет.
Нужно ли устанавливать какие-либо расширения?
Нет (за исключением самого mysqli, конечно).
Кроме того, когда полезно использовать PDO?
Да. На самом деле PDO станет единственным разумным выбором.
Вы должны понимать, что набор функций mysqli – это просто API низкого уровня, который не предназначен для использования как есть. Нужно реализовать оболочку на mysqli, а затем использовать методы этой оболочки. Хотя PDO уже является такой оболочкой , предлагая помощь в выполнении многих задач. Я написал руководство по PDO , которое подчеркивает его преимущества и раскрывает некоторые суеверия, где, надеюсь, вы найдете ответы на многие вопросы, которые наверняка есть.