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: