Cara Mengambil Input di PHP CLI
Seperti yang sudah saya bahas pada
tulisan sebelumnya. PHP CLI merupakan PHP yang berjalan di atas Command Line. Biasanya, program yang berbasis teks memiliki fungsi tersendiri untuk mengambil input. Contohnya Python menggunakan fungsi input()
dan raw_input()
, java menggunakan Scanner
dan BufferReader
, C++ menggunakan cin
, Pascal menggunakan readln()
, dsb. Lalu, Bagaimana dengan PHP?
Menggunakan Fungsi fopen()
Cara pertama mengambil input di PHP CLI adalah dengan menggunakan fungsi fopen()
. Pada dasarnya fungsi ini digunakan untuk membuka atau membaca file. Namun, dapat digunakan juga untuk mengambil input. Contoh penggunaan:
<?php
echo "Siapa nama kamu: ";
$input_nama = fopen("php://stdin","r");
$nama = trim(fgets($input_nama));
echo "Hello $nama, apa kabar?\n";
?>
Pada contoh di atas, fungsi fopen()
harus diberikan parameter "php://stdin"
dan "r"
untuk membaca apa yang diketik di Terminal. Kemudian, kita membutuhkan dua fungsi lagi agar mendapatkan nilai yang murni. Fungsi fgets()
untuk membaca baris inputan, kemudian fungsi trim()
untuk menghapus karakter enter ("\n"
) atau spasi di akhir inputan yang ikut dibaca. Bila kita tidak menggunakan fungsi trim()
maka nilai yang akan dibaca ketika diinputkan “Petani Kode
” adalah “Petani Kode\n
”. “\n
” itu didapatkan dari tombol enter.
Menggunakan STDIN
Ada cara yang lebih sederhana, yaitu menggunakan STDIN
. Cara ini sama juga seperti yang tadi, cuma perbedaannya tidak menggunakan fungsi fopen()
. Kita bisa langsung mengambil nilai dengan fungsi fgets()
. Lalu kita gunakan fungsi trim()
untuk membersihkannya dari “\n
”. Contoh:
<?php
echo "Dari mana anda berasl: ";
$asal = trim(fgets(STDIN));
echo "Oh, dari $asal ya\n";
?>
Hasil output ketika dieksekusi:
Itulah dua cara mengambil input di PHP CLI, manakah cara yang paling mudah? Silakan anda tentukan sendiri. Kalau pun ada cara lain silakan ditambahkan dan kalau masih tidak paham silakan ditanyakan.