Đọc các đối số dòng lệnh

PHP:
Đọc các đối số dòng lệnh

Cách thực hiện:

PHP sử dụng một mảng toàn cục $argv để lưu trữ các đối số dòng lệnh, với $argv[0] là tên script. Đây là cách bạn sử dụng nó:

<?php
// kiểm tra xem có đối số nào được truyền không
if ($argc > 1) {
    echo "Xin chào, " . $argv[1] . "!\n";
} else {
    echo "Xin chào, người lạ mặt!\n";
}
?>

Nếu bạn gọi script này là sayhello.php và chạy php sayhello.php World, kết quả sẽ là:

Xin chào, World!

Không có đối số nào? Bạn sẽ nhận được:

Xin chào, người lạ mặt!

Tìm hiểu sâu hơn

Theo lịch sử, các script dòng lệnh đã là nền tảng của tự động hóa hệ thống, trước khi các GUI chiếm lĩnh. PHP, mặc dù được sử dụng rộng rãi cho phát triển web, cũng cung cấp hỗ trợ CLI mạnh mẽ.

Hai cách chính để đọc đối số trong PHP là $argv và hàm getopt(). $argv là một mảng đơn giản trong khi getopt() cung cấp chức năng phức tạp hơn, như phân tích các tùy chọn (có hoặc không có giá trị).

Về việc triển khai, $argv$argc (số lượng đối số) tự động có sẵn khi ở chế độ CLI — không cần thiết lập thêm. Chúng không có mặt khi chạy script web PHP vì đó không phải là sân chơi của chúng.

Nhưng nhớ rằng, nếu bạn đăng ký argvargc như là các biến toàn cục thông qua php.ini hoặc cấu hình máy chủ, chúng cũng có thể được truy cập trong script web. Tuy nhiên, điều này hiếm khi cần thiết và có thể là một rủi ro bảo mật.

Xem thêm

Để phân tích lệnh dòng lệnh phức tạp hơn:

Để tìm hiểu về máy chủ CLI của PHP:

Tương tác với cộng đồng PHP: