note 115422 deleted from mysqli.overview by sobak
| From: | sobak@php.net | Date: | Tue, 22 Nov 2016 08:42:08 +0000 |
| Subject: | note 115422 deleted from mysqli.overview by sobak | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-207499@lists.php.net to get a copy of this message | ||
Note Submitter: AvenidaGez
----
Even when not usually written, a Driver is a Device Driver. Something physical, hardware, needs a
Driver, and in computer terms is the code or program needed by the device to work properly.
An API (Application program interface), is the part of exposed code of a program so you can
communicate with it, you could say is like the buttons of a blender, the steering wheel of a car, if
there is no interface there is no way to communicate.
MySQL is software, not hardware, not a device, so it is a Driver in itself that makes a computer
work as a database (an specific Application), so MySQL has an API too, but it does not need nor uses
a Driver since it is the Driver.
Sometimes you have a Driver, with its API, but you can not communicate with it, with what you have,
so the language needs to be extended, in this case, the capabilities of the language you are using,
in order for it to be able to communicate with the API of the Driver (in this case MySQL Driver), so
that is called and Extension (of the language you are using), and it is not and API, neither a
Driver, is just that, and Extension. Then why it is called API (application program interface) and
not DPI (device program interface), well, that is because a Device might have different
Applications, (read it as different uses) for example an USB device, might be used as storage
device, as audio CD, as DVD movie, etc. so the interface is oriented to the application of the
device and not to the device itself.