mysqli, OOP и процедурный

Я только что увидел это в первый раз. Я понятия не имел, что вы можете создать экземпляр класса 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 , которое подчеркивает его преимущества и раскрывает некоторые суеверия, где, надеюсь, вы найдете ответы на многие вопросы, которые наверняка есть.