Введение В Собственный Драйвер Mysql Для Php

В этой заметке мы поговорим об альтернативном драйвере для доступа к СУБД MySQL через PHP. Его имя — MySQL Native Driver. PHP имеет три API для работы с MySQL: MySQL , MySQLi И ПДО .

Все три реализованы как расширения в C. Самый старый из этих API — MySQL .

Это расширение появилось в PHP 3 и прекрасно поддерживало версии MySQL младше 4.1 (версия < 4.1).

There are some difficulties with older versions (> =4.1).

API MySQL Он просто не поддерживает некоторые возможности новых версий MySQL. Затем появилось расширение MySQLi (вероятно, MySQL улучшен ).

Этот API поддерживает все новые возможности СУБД MySQL. Плюс к этому MySQLi позволяет использовать синтаксис OPP наряду с процедурным.

Расширение MySQLi поставляется с PHP начиная с версии 5. Третий API называется ПДО (Объекты данных PHP).

В общем смысле это не только API для MySQL, но и своего рода уровень абстракции от конкретной СУБД.

Как уже было сказано, ПДО поставляется как расширение PHP. Итак, вместе с этим расширением поставляются драйвера для конкретных СУБД: от SQLite до Oracle. Общим для этих API является то, что они используют одну и ту же библиотеку для прямого взаимодействия с MySQL. Они используют стандартную клиентскую библиотеку MySQL ( libmysql ).

Эта библиотека написана на C и, кстати, используется не только для клиентских приложений на PHP, но и на Perl, C/C++, Ruby и т.д. Итак, уже давно (кажется, с начала 2007 года) можно использовать MySQL Native Driver ( mysqlnd ).

Что это? Концептуально это замена libmysql .

И не зря он «Native» (родной, встроенный), так как вся его реализация тесно переплетена с PHP (на уровне языка C, конечно) и распространяется в соответствии с лицензией PHP. На самом деле прелесть в том, что начиная с PHP5.3/6 mysqlnd приходит на замену libmysql .

При этом API никак не пострадает, а для разработчика процесс перехода обещает быть прозрачным — весь ранее написанный код с использованием API MySQL , MySQLi И ПДО будет работать как часы.

Схематично это выглядит так:

Введение в собственный драйвер MySQL для PHP

Преимущества MySQL Native Driver заключаются в его природе, которая тесно связана с внутренними компонентами PHP. mysqlnd использует некоторые встроенные в PHP функции, что не может не сказаться на производительности.

В любом случае изучение внутренностей MySQL Native Driver, а также его преимуществ достойно отдельной заметки или даже статьи.

Я надеюсь, что эта вводная заметка о MySQL Native Driver будет вам хоть немного полезна.

Теги: #php #MySQL #api #Собственный драйвер MySQL #Chulan

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.