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: