Этот раздел рассказывает об инструментах, которые помогают разрабатывать PHP-приложения, которые взаимодействуют с базой данных MySQL.
Что такое API?
Интерфейс прикладного программирования (Application Programming Interface, или API) определяет классы, методы, функции и переменные, которые нужны приложению для решения задачи. Приложениям PHP, которые взаимодействуют с базами данных, необходимые API обычно доступны через PHP-модули.
API-интерфейсы строят в процедурном или объектно-ориентированном стиле. В процедурном API для решения задачи вызывают функции, в объектно-ориентированном API инстанцируют классы, а затем вызывают методы этих объектов. Чаще предпочитают объектно-ориентированный API, поскольку такой подход современнее и помогает лучше организовать код.
При написании PHP-приложений доступно несколько вариантов API для подключения к серверу MySQL. В этом документе обсуждается, что доступно и как выбрать лучшее решение для приложения.
Что такое коннектор?
В документации MySQL термин коннектор (connector) относится к программному обеспечению, которое разрешает приложению подключаться к серверу базы данных MySQL. MySQL предлагает коннекторы для многих языков программирования, включая PHP.
Если приложение будет взаимодействовать с сервером базы данных, потребуется написать PHP-код для соединения с базой данных, выполнения запросов и других функций, которые связаны с базой данных. Программное обеспечение требуется для доступа к API, который будет использовать PHP-приложение, и для управления связью между приложением и сервером базы данных, возможно, с подключением других промежуточных библиотек, где это требуется. Такое ПО называют коннектором, поскольку это программное обеспечение разрешает приложению соединиться (connect) с базой данных.
Что такое драйвер?
Драйвер — часть ПО, которое разработали для взаимодействия с сервером базы данных конкретного типа. Драйвер также может вызывать библиотеку наподобие MySQL Client Library или MySQL Native Driver. Эти библиотеки реализуют низкоуровневый протокол взаимодействия с сервером базы данных MySQL.
В качестве примера, слой абстракции базы данных PHP Data Objects (PDO) умеет работать с драйверами конкретных баз данных. У слоя PDO есть доступ к драйверу PDO MYSQL, который разрешает слою абстракции взаимодействовать с сервером MySQL.
Термины «коннектор» и «драйвер» часто употребляют как взаимозаменяемые,
что сбивает с толку. В документации по MySQL термин драйвер
зарезервировали для ПО, которое предоставляет часть пакета коннектора
для конкретной базы данных.
Что такое модуль?
В документации PHP встречается ещё один термин —
модуль (extension). Код PHP
состоит из ядра, к которому подключают дополнительные модули
для расширения основной функциональности. PHP-модуль mysqli
для работы с MySQL реализовали через инфраструктуру модулей PHP.
Модули обычно открывают программисту доступ к API, который разрешает пользоваться средствами модуля программно. Однако отдельные модули, которые работают с платформой PHP-модулей, не открывают PHP-программисту доступ к API.
Модуль драйвера PDO MySQL, например, не раскрывает PHP-программисту API, но открывает интерфейс к слою PDO, который лежит над уровнем драйвера.
У терминов API и «модуль» разные значения, поскольку модуль не обязан открывать программисту API.