Огляд термінології

У цьому розділі розповідається про можливості взаємодії між 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.