PHP tidak hanya hidup di web — PHP CLI yang matang menjadikannya pilihan kuat untuk skrip otomasi dan tool internal. Section ini membahas pembuatan tool command line: membaca argument, mengelola stdin/stdout/stderr, memakai exit code dengan benar, dan menyusun console application yang rapi. Kita juga membahas scheduled jobs, otomasi filesystem, subprocess, berkas konfigurasi, hingga mendistribusikan tool agar siap dipakai orang lain.

# Membuat Command-Line Scripts

Pelajari cara membuat dan menjalankan skrip PHP langsung dari terminal untuk berbagai tugas otomasi.

Buka →
# Command-Line Arguments

Pelajari cara membaca, memilah, dan memvalidasi command-line arguments dengan $argv dan getopt.

Buka →
# stdin, stdout, dan stderr

Pelajari cara mengelola tiga stream standar agar skrip CLI Anda rapi, mudah dipipakan, dan ramah otomasi.

Buka →
# Exit Codes

Pelajari cara memakai exit codes dengan benar agar skrip PHP Anda dapat dipercaya oleh shell, pipeline, dan CI.

Buka →
# Console Applications

Pelajari cara menyusun skrip PHP menjadi aplikasi console utuh dengan dispatch perintah, output bantuan terstruktur, dan exit code yang konsisten.

Buka →
# Scheduled Jobs

Pelajari cara menjadwalkan skrip PHP dengan cron, mencegah tumpang tindih dengan flock, mencatat output job, dan menguji logika terjadwalnya.

Buka →
# Filesystem Automation

Pelajari cara menulis tool PHP yang mengganti nama berkas secara massal, merotasi arsip, membersihkan berkas tua, dan melapor hasilnya dengan aman.

Buka →
# Subprocesses

Pelajari cara memanggil program eksternal dari PHP dengan proc_open: mengelola pipe stdout dan stderr, meneruskan environment, membatasi waktu eksekusi, dan mengamankan argumen.

Buka →
# Configuration Files

Pelajari cara mengelola berkas konfigurasi untuk tool CLI, dari pencarian lokasi dan penggabungan default hingga validasi dan penanganan rahasia.

Buka →
# Distributing CLI Tools

Pelajari cara mengemas dan mendistribusikan tool CLI PHP Anda, dari berkas phar dan pemasangan Composer hingga konvensi --version dan README.

Buka →