Beberapa dari Kita (termasuk saya) mungkin belum faham dengan yg namanya API dan juga PHP extension. Padahal kita sebagai programmer sering menggunakannya. Nah, di bagian ini akan diberikan pengantar tentang pilihan yang tersedia mengembangkan aplikasi PHP yang perlu berinteraksi dengan
database MySQL. Artikel ini ditulis dan diartikan aseli dari sumbernya yaitu: PHP Net
PHP Extension |
Apa itu API?
Application Programming Interface, atau API,
mendefinisikan kelas, metode, fungsi dan variabel yang diperlukan aplikasi untuk
melaksanakan tugas yang diinginkan. Dalam kasus aplikasi PHP yang perlu
berkomunikasi dengan database,
biasanya API diperlukan melalui PHP extension.
API bisa ditulis dalam bentuk prosedural atau berorientasi objek (OOP). Dengan API
prosedural Kita dapat memanggil
fungsi-fungsi untuk melaksanakan tugas, dan dengan API berorientasi obyek Kita dapat menginisiasi class dan kemudian
memanggil metode pada objek yang dihasilkan. Dari dua cara tersebut, API yang berbasis objek biasanya
lebih disukai, karena lebih modern dan mengarah kepada kode yang lebih terorganisir.
Saat menulis aplikasi PHP yang perlu terhubung ke server
MySQL ada beberapa pilihan API yang tersedia. Disini akan dibahas apa yang tersedia dan bagaimana untuk memilih solusi terbaik
untuk aplikasi yang akan Kita buat.
Apa itu Connector?
Dalam dokumentasi MySQL, konektor merujuk sebuah
software yang memungkinkan aplikasi untuk terhubung ke server database MySQL.
MySQL menyediakan konektor untuk berbagai bahasa, termasuk PHP.
Jika aplikasi PHP memerlukan komunikasi dengan database server, Kita
perlu menulis kode
PHP untuk menghubungkannya, termasuk diantaranya query database dan fungsi-fungsi yang berhubungan dengan
database lainnya. Sebuah software diperlukan untuk menyediakan API yang akan digunakan aplikasi Kita, dan juga
menangani komunikasi antara aplikasi dan database server. Software ini
dikenal umum sebagai konektor, karena memungkinkan aplikasi Kita untuk terhubung ke database server.
Apa itu Driver?
Driver adalah software yang dirancang untuk
berkomunikasi dengan jenis tertentu dari database server. Driver juga dapat dipanggil menggunakan library, seperti MySQL Client
Library atau MySQL Native Driver. Library ini menerapkan protokol tingkat rendah yang
digunakan untuk berkomunikasi dengan database server MySQL.
Contohnya,
PHP Data Objects (PDO) memungkinkan untuk menggunakan satu dari
beberapa database driver. Salah satu driver yang telah tersedia
adalah PDO MYSQL driver, yang memungkinkan untuk berinteraksi dengan server
MySQL.
Terkadang
orang menggunakan konektor dan driver
secara bergantian, ini dapat membingungkan. Dalam
dokumentasi MySQL yang berhubungan dengan istilah "driver"
dicadangkan untuk perangkat lunak yang menyediakan bagian database spesifik dari paket konektor.
Apa itu
Extension?
Dalam dokumentasi PHP Kita akan menemukan istilah lain dari ekstensi (extension). Kode PHP
terdiri dari inti, dengan ekstensi opsional untuk fungsionalitas inti. Ekstensi
PHP (PHP Extension) MySQL-related, seperti mysqli extension, dan mysql extension, diimplementasikan menggunakan PHP extension framework.
Extension biasanya membuka API kepada programmer PHP, yang
memungkinkan untuk digunakan dalam pemrograman. Namun,
beberapa extension yang menggunakan PHP extension framework tidak mengekspos API kepada programmer PHP.
PDO MySQL driver extension, misalnya, tidak membuka semua API untuk programmer PHP, tetapi
menyediakan antarmuka ke lapisan PDO di atasnya. Istilah API dan ekstensi tidak harus diartikan sama, sebagian extension mungkin tidak
selalu mengekspos API untuk programmer.
Apa saja
fasilitas utama PHP API untuk digunakan dengan MySQL?
Ada tiga pilihan API utama yang dapat digunakan untuk menghubungkan PHP ke database server MySQL:
- PHP's MySQL Extension
- PHP's MySQLi Extension
- PHP Data Objects (PDO)
Masing-masing memiliki kelebihan dan kekurangan.
Pembahasan berikut bertujuan untuk memberikan pengenalan singkat pada aspek inti dari setiap API.
Apa itu PHP MySQL Extension?
Merupakan ekstensi
asli yang dirancang untuk mengembangkan
aplikasi PHP yang berinteraksi dengan database MySQL. Mysql extension menyediakan antarmuka prosedural dan dimaksudkan untuk digunakan hanya dengan
MySQL versi dari 4.1.3 kebawah. Ekstensi ini dapat digunakan dengan versi MySQL 4.1.3 atau yang lebih
baru, tapi tidak semua fitur server MySQL terbaru dapat digunakan.
Catatan: Jika Kita menggunakan MySQL versi 4.1.3 atau yang lebih baru sangat disarankan agar Kita menggunakan ekstensi mysqli sebagai penggantinya.
Kode sumber dari ekstensi MySQL terletak di direktori ekstensi PHP ext / mysql
Apa itu PHP MySQLi Extension?
MySQLi Extension, atau seperti yang dikenal, MySQL "improved" extension, dikembangkan untuk
mengambil keuntungan dari fitur baru yang ditemukan di MySQL sistem versi 4.1.3
dan yang lebih baru. MySQL extension disertakan dalam PHP versi 5 dan yang lebih baru.
Ekstensi MySQLi memiliki sejumlah kelebihan, diantaranya:
- Object-oriented interface
- Support for Prepared Statements
- Support for Multiple Statements
- Support for Transactions
- Enhanced debugging capabilities
- Embedded server support
Catatan: Jika Kita menggunakan MySQL versi 4.1.3 atau yang lebih baru sangat disarankan untuk menggunakan extension ini.
Selain menyediakan antarmuka
berorientasi objek, MySQLi extension juga menyediakan antarmuka prosedural.
Ekstensi mysqli dibangun menggunakan PHP extension framework, kode
sumbernya terletak pada direktori ext / mysqli
Untuk informasi lebih lanjut tentang perpanjangan
mysqli, lihat MySQLi.
Apa itu PDO?
PHP Data Objects, atau PDO, merupakan database abstraction layer khusus
untuk aplikasi PHP. PDO menyediakan API yang konsisten untuk aplikasi PHP
terlepas dari jenis server database aplikasi yang digunakan. Secara teori, jika menggunakan PDO
API, Kita bisa beralih database server dengan mudah. Misalnya dari Firebird ke MySQL, dan hanya perlu membuat perubahan kecil untuk kode
PHP yand sudah kita buat.
PDO memiliki kelebihan, yaitu lebih bersih, lebih sederhana, dan portabel, kelemahan utamanya
adalah bahwa tidak memungkinkan untuk menggunakan semua fitur canggih yang
tersedia dalam versi terbaru dari server MySQL. Misalnya, PDO tidak
memungkinkan Kita untuk menggunakan dukungan MySQL Multiple Statements.
PDO diimplementasikan menggunakan PHP extension framework, kode
sumbernya terletak di direktori ext / PDO
Untuk informasi lebih lanjut tentang PDO, lihat PDO.
Apa itu PDO MYSQL driver?
PDO MYSQL driver tidak seperti API, dari
perspektif programmer PHP. Faktanya
PDO MYSQL driver berada di lapisan bawah PDO itu sendiri serta menyediakan fungsionalitas
MySQL. Programmer masih menyebut PDO API, tapi PDO menggunakan PDO MySQL driver
untuk melakukan komunikasi
dengan server MySQL.
PDO MYSQL Driver
merupakan salah satu
dari beberapa driver PDO. Driver PDO yang lain tersedia untuk server database Firebird
dan PostgreSQL.
PDO MYSQL driver diimplementasikan menggunakan PHP extension Framework. Kode sumbernya terletak di
direktori ext / pdo_mysql
Apa itu PHP MySQL Native Driver?
Untuk
berkomunikasi dengan MySQL database server mysql extension, mysqli dan PDO
MYSQL driver menggunakan library tingkat rendah untuk mengimplementasikan protokol yang diperlukan. Dahulu, satu-satunya library yang tersedia
adalah MySQL Client Library, atau dikenal sebagai libmysqlclient.
Namun, antarmuka yang disajikan oleh libmysqlclient tidak dioptimalkan untuk
komunikasi dengan aplikasi PHP, libmysqlclient
awalnya dirancang dengan aplikasi C. Untuk alasan ini MySQL native driver, mysqlnd, dikembangkan sebagai alternatif
untuk libmysqlclient pada aplikasi PHP.
Mysql
extension, mysqli
extension dan
PDO MySQL driver dapat dikonfigurasi secara individual untuk menggunakan libmysqlclient atau mysqlnd. mysqlnd
dirancang khusus untuk digunakan dalam sistem PHP yang memiliki banyak
memori dan tambahan kecepatan melalui
libmysqlclient. Kita sangat dianjurkan untuk mengambil keuntungan dari perbaikan ini.
Catatan: MySQL native driver hanya dapat digunakan dengan server MySQL versi 4.1.3 dan yang lebih baru.
MySQL driver asli diimplementasikan menggunakan PHP extension framework. Kode
sumber terletak di ext / mysqlnd
Perbandingan Fitur
Tabel berikut membandingkan fungsi dari tiga metode
utama menghubungkan ke MySQL dari PHP:
Sumber: PHP Net
0 Response to " Apa Itu PHP Extension dan Apa saja macamnya (MySQL, MySQLi, PDO) "
Post a Comment