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!

PHP - Removed Extensions & SAPIs

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