PHP 8.1.28 Released!

Обзор терминологии

В этом разделе рассказывается про имеющиеся возможности взаимодействия между PHP приложением и базой данных MySQL.

Что такое API?

Интерфейс программирования приложений(Application Programming Interface или API), описывает классы, методы, функции и переменные, которые ваше приложение должно использовать для выполнения поставленной задачи. В случае PHP, API для доступа к базам данных доступны в качестве модулей PHP.

API может быть процедурным или объектно-ориентированным. В процедурном API, для совершения необходимых действий вы вызываете функции, тогда как в объектно-ориентированном API вы инстанциируете классы и вызываете их методы. Более предпочтительным является использование объектно-ориентированного API, так как подобный подход более современен и позволяет лучше организовать код.

Если вы пишите PHP приложение, которому необходимо взаимодействовать с базой данных MySQL, то у вас есть несколько API на выбор. В этом документе рассказывается про то, какие API есть и как выбрать наиболее подходящее для вашего приложения.

Что такое Коннектор?

В документации MySQL, термин коннектор(connector) отсылает к той части программного обеспечения, которая позволяет вашему приложению соединиться с базой данных MySQL. MySQL предоставляет коннекторы для многих языков программирования, в том числе и для PHP.

Если ваше приложение должно взаимодействовать с базой данных, вы должны написать PHP-код для выполнения таких задач как соединение с базой данных, выполнение запросов и прочих функций. Для предоставления вашему приложению необходимого API и для обеспечения взаимодействия между приложением и базой данных требуется специальное программное обеспечение. Это ПО обычно называют коннектором. И именно оно позволяет вашему приложению соединиться(connect) с базой данных.

Что такое Драйвер?

Драйвер - это специализированное ПО, созданное для взаимодействием с определённым сервером баз данных. Драйвер также может использовать сторонние библиотеки, такие как "MySQL Client Library" или "MySQL Native Driver". Эти библиотеки реализуют низкоуровневый протокол взаимодействия с сервером MySQL.

Для примера, коннектор PHP Data Objects (PDO) может использовать различные специализированные драйверы для различных баз данных. Один из них "PDO MYSQL driver", предназначенный для взаимодействия с MySQL.

Иногда люди используют термины коннектор и драйвер, понимая под ними одно и то же. Это неправильно и может привести к путанице. В документации относящейся к MySQL, термин драйвер обозначает ПО, предоставляющее специфичную для конкретного сервера баз данных часть коннектора.

Что такое модуль?

В документации PHP вы наверняка сталкивались с термином модуль (extension). Код PHP состоит из базового функционала(ядра) и необязательных модулей, дополняющих функциональность ядра. Связанный с MySQL модуль PHP, mysqli, реализован с использованием инфраструктуры модулей PHP.

Обычно, модули предоставляют API для программиста, что бы он мог использовать их функциональность в своих программах. Однако существуют модули не предоставляющие никакого API.

Например модуль "PDO MySQL driver" не предоставляет никакого API для разработчика. Вместо этого он предоставляет интерфейс для вышестоящего уровня PDO.

Термины API и Модуль обозначают разные вещи, так как модуль может не предоставлять никакого API.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top