การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

PHP:
การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

วิธีการ:

PHP ใช้แอเรย์โกลบอล $argv ในการเก็บอาร์กิวเมนต์บรรทัดคำสั่ง โดยที่ $argv[0] คือชื่อสคริปต์ นี่คือวิธีการใช้งาน:

<?php
// ตรวจสอบว่ามีอาร์กิวเมนต์ถูกส่งมาหรือไม่
if ($argc > 1) {
    echo "สวัสดี, " . $argv[1] . "!\n";
} else {
    echo "สวัสดี, ไม่ว่าคุณจะเป็นใครก็ตาม!\n";
}
?>

หากคุณเรียกสคริปต์นี้ว่า sayhello.php และรัน php sayhello.php World, ผลลัพธ์จะเป็น:

สวัสดี, โลก!

ไม่มีอาร์กิวเมนต์? คุณจะได้รับ:

สวัสดี, ไม่ว่าคุณจะเป็นใครก็ตาม!

ขุดลึก

อย่างที่ได้มีประวัติศาสตร์ไว้, สคริปต์บนบรรทัดคำสั่งได้เป็นหัวใจสำคัญของการอัตโนมัติระบบ ตั้งแต่ก่อนที่ GUI จะมาเป็นที่นิยม PHP แม้ว่าจะถูกใช้อย่างกว้างขวางสำหรับการพัฒนาเว็บ แต่ยังให้การสนับสนุน CLI ที่แข็งแกร่ง

สองวิธีหลักในการอ่านอาร์กิวเมนต์ใน PHP คือ $argv และฟังก์ชั่น getopt() ก่อนการเป็นแอเรย์ง่ายๆ ขณะที่ฟังก์ชั่น getopt() ให้ความสามารถที่ซับซ้อนยิ่งขึ้น เช่น การวิเคราะห์ตัวเลือก (พร้อมหรือไม่มีค่า)

สำหรับการทำงาน, $argv และ $argc (จำนวนอาร์กิวเมนต์) จะพร้อมใช้งานโดยอัตโนมัติในโหมด CLI — ไม่ต้องการการตั้งค่าเพิ่มเติม พวกเขาไม่มีอยู่เมื่อรันสคริปต์ PHP บนเว็บเพราะนั่นไม่ใช่สนามของพวกเขา

แต่จำไว้ว่าหากคุณลงทะเบียน argv และ argc เป็นตัวแปรโกลบอลผ่าน php.ini หรือคอนฟิกเซิร์ฟเวอร์ พวกเขายังสามารถเข้าถึงได้ในสคริปต์เว็บ ถึงแม้ว่านั่นจะไม่ค่อยจำเป็นและอาจเป็นความเสี่ยงด้านความปลอดภัย

ดูเพิ่มเติม

สำหรับการวิเคราะห์บรรทัดคำสั่งที่ซับซ้อนยิ่งขึ้น:

เพื่อดำน้ำลงไปในเซิร์ฟเวอร์ CLI ของ PHP:

มีการมีส่วนร่วมกับชุมชน PHP: