PHP – Ekstensi dan SAPI yang Dihapus
Hai teman-teman pengembang PHP yang ambisius! Saya senang untuk membimbing Anda melalui aspek penting evolusi PHP: ekstensi dan SAPI yang dihapus. Sebagai guru komputer yang ramah di lingkungan sekitar Anda dengan tahun-tahun pengalaman, saya akan membongkar ini dengan cara yang bahkan mereka yang tanpa latar belakang pemrograman juga dapat mengerti. Jadi, ambillah secangkir kopi (atau teh, jika Anda memilih), dan mari kita masuk ke dalam!
Ekstensi yang Dihapus
Ekstensi di PHP adalah seperti penambahan yang memberikan fungsi ekstra kepada bahasa tersebut. Selama waktu, beberapa ekstensi ini menjadi usang atau tidak diperlukan, dan PHP memutuskan untuk menghapusnya. Mari kita lihat beberapa ekstensi yang paling menonjol yang dihapus dan mengerti mengapa mereka ditolak.
1. mysql
Ekstensi mysql
adalah salah satu ekstensi yang paling banyak digunakan di versi awal PHP. Itu memungkinkan pengembang untuk berinteraksi dengan basis data MySQL. Namun, itu dihapus di PHP 7.0 karena masalah keamanan dan desain yang usang.
Ini adalah contoh bagaimana kita biasa menghubungkan ke basis data MySQL menggunakan ekstensi ini:
<?php
$connection = mysql_connect("localhost", "username", "password");
mysql_select_db("my_database", $connection);
$result = mysql_query("SELECT * FROM users");
while ($row = mysql_fetch_assoc($result)) {
echo $row['name'] . "<br>";
}
mysql_close($connection);
?>
Kode ini akan menghubungkan ke basis data, menjalankan sebuah query untuk memilih semua pengguna, dan mencetak nama mereka. Sederhana, kan? Tetapi itu memiliki kerentanan keamanan dan tidak mendukung fitur MySQL yang lebih baru.
2. ereg
Ekstensi ereg
menyediakan fungsi ekspresi regular. Itu dihapus di PHP 7.0 karena lebih lambat dan kurang fitur dibandingkan dengan ekstensi PCRE (Perl Compatible Regular Expressions).
Ini adalah contoh bagaimana kita biasa menggunakan ereg
:
<?php
if (ereg("^[a-zA-Z0-9]+$", $username)) {
echo "Valid username";
} else {
echo "Invalid username";
}
?>
Kode ini akan memeriksa jika nama pengguna hanya mengandung karakter alfanumerik. Meskipun itu bekerja, itu tidak seefisien atau kuat seperti lawannya PCRE.
3. mssql
Ekstensi mssql
digunakan untuk menghubungkan ke basis data Microsoft SQL Server. Itu dihapus di PHP 7.0 menggantikan ekstensi yang lebih modern dan kaya fitur sqlsrv.
Ini adalah contoh sederhana bagaimana kita biasa menghubungkan ke basis data MSSQL:
<?php
$connection = mssql_connect("localhost", "username", "password");
mssql_select_db("my_database", $connection);
$result = mssql_query("SELECT * FROM products");
while ($row = mssql_fetch_array($result)) {
echo $row['product_name'] . "<br>";
}
mssql_close($connection);
?>
Kode ini akan menghubungkan ke basis data MSSQL, mengambil semua produk, dan menampilkan nama mereka.
Tabel Ekstensi yang Dihapus
Ini adalah tabel yang menggabungkan beberapa ekstensi penting yang dihapus dari PHP:
Ekstensi | Dihapus di | Pengganti |
---|---|---|
mysql | PHP 7.0 | mysqli or PDO_MySQL |
ereg | PHP 7.0 | PCRE (fungsi preg_*) |
mssql | PHP 7.0 | sqlsrv or PDO_SQLSRV |
mcrypt | PHP 7.2 | OpenSSL |
recode | PHP 7.4 | iconv or mbstring |
SAPI yang Dihapus
SAPI berarti Server Application Programming Interface. Itu adalah lapisan antara PHP dan server web. Selama waktu, beberapa SAPI dihapus dari PHP. Mari kita lihat beberapa contoh.
1. php-fpm (FastCGI Process Manager)
Teman-teman, ini hanya玩笑! php-fpm belum dihapus. Pada kenyataannya, itu adalah salah satu SAPI yang paling populer untuk PHP. Saya hanya ingin memulai dengan sedikit permainan untuk membuat Anda tetap waspada. Selalu tinggal waspada di dunia pemrograman!
2. apache_hooks
SAPI apache_hooks
dihapus di PHP 7.0. Itu adalah alternatif modul Apache 1.x yang menggunakan API hook Apache. Namun, itu menjadi usang karena Apache 2.x menjadi standar.
Ini adalah contoh sederhana bagaimana Anda mungkin melihat PHP digunakan dengan Apache di masa lalu:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Konfigurasi Apache ini akan mengatur virtual host untuk aplikasi PHP. Meskipun konfig ini tidak spesifik untuk apache_hooks
, itu memberikan Anda ide tentang bagaimana PHP dan Apache bekerja bersama.
3. aolserver
SAPI aolserver
dihapus di PHP 5.3. Itu digunakan untuk mengintegrasikan PHP dengan server web AOLserver, yang tidak banyak digunakan lagi.
Tabel SAPI yang Dihapus
Ini adalah tabel yang menggabungkan SAPI penting yang dihapus dari PHP:
SAPI | Dihapus di | Catatan |
---|---|---|
apache_hooks | PHP 7.0 | Modul Apache 1.x yang usang |
aolserver | PHP 5.3 | Untuk integrasi AOLserver |
caudium | PHP 7.0 | Untuk server web Caudium |
continuity | PHP 7.0 | Untuk server Continuity |
Dalam kesimpulan, evolusi PHP melibatkan tidak hanya menambahkan fitur baru, tetapi juga menghapus yang usang atau bermasalah. Sebagai pengembang, sangat penting untuk tetap diperbarui dengan perubahan ini agar kode Anda tetap efisien, aman, dan kompatibel dengan versi PHP terbaru.
Ingat, di dunia pemrograman, perubahan adalah satu-satunya konstanta. Embrasya perubahan, belajar dari itu, dan Anda akan tumbuh sebagai pengembang. Selamat pemrograman, dan semoga petualangan PHP Anda bebas bug dan penuh kegembiraan!
Credits: Image by storyset