การจัดการ Library หรือ Package ภาษา PHP ด้วย Composer
Composer เป็นเครื่องมือสำหรับใช้จัดการ Library หรือ Package ของภาษา PHP
Composer เป็นเครื่องมือสำหรับใช้จัดการ Library หรือ Package ของภาษา PHP ที่นักพัฒนาทั้งหลายได้พัฒนาไว้ โดยสามารถนำไปใช้งานได้โดยไม่มีค่าใช้จ่าย และยังช่วยให้เราสามารถติดตั้ง และประกาศใช้ชุดโค้ดเหล่านี้ได้สะดวกและง่ายยิ่งขึ้น
ความต้องการของระบบ (System Requirements)
Composer สามารถรอบรับกับ PHP เวอร์ชั่น 5.3.2 เป็นต้นไป สามารถรองรับในหลายแพลตฟอร์ม ได้แก่ Windows, Linux และ MacOS ด้านการติดตั้งมีทั้งแบบที่รันคำสั่งด้วยตนเอง (Manual Installation) ผ่าน Command Line และใช้ตัวติดตั้งอัตโนมัติ (Installer) สำหรับ Windows
การติดตั้งบน Windows
การติดตั้งโดยใช้ตัว Installer
ดาวน์โหลดไฟล์ติดตั้งได้ที่ลิงค์ https://getcomposer.org/Composer-Setup.exe และรันไฟล์ Composer-Setup.exe โปรแรกมจะติดตั้ง Composer เวอร์ชันล่าสุด พร้อมตั้งค่า PATH เพื่อให้เราสามารถเรียก Composer ผ่านทาง Command Line จากไดเร็กทอรีใดก็ได้
การติดตั้งโดยใช้ Command Line
หากต้องการติดตั้ง Composer อย่างรวดเร็วในไดเร็กทรอรีปัจจุบัน ให้รันคำสั่งต่อไปนี้ผ่าน Command Line ระบบจะทำการดาวน์โหลดและติดตั้งโปรแกรมให้เราทันที
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
โดยสคริปต์ตัวติดตั้งนี้จะตรวจสอบการตั้งค่า php.ini บางอย่างของเรา โดยจะมีการเตือนหากมีการตั้งค่าที่ไม่ถูกต้อง จากนั้นจะดาวน์โหลดไฟล์และติดตั้งตัวรันคำสั่ง Composer ลงในไดเรกทรอรีปัจจุบันของเรา
หมายเหตุ ก่อนติดตั้ง Composer ต้องติดตั้งโปรแกรมภาษา PHP หรือชุดเครื่องมือพัฒนาภาษา PHP ก่อน เช่น Xampp เป็นต้น
เมื่อติดตั้งเสร็จแล้วเราสามารถทดสอบการติดตั้งโดยใช้คำสั่ง php composer.phar โดยผลลัพท์ที่ได้จะแสดงเวอร์ชั่น และคำสั่งต่างๆ สำหรับใช้งาน Composer ผ่านทาง Command Line ดังรูป
การใช้งาน
ให้เราสร้างไฟล์ชื่อ composer.json เพื่อใช้เป็นค่าในการระบุชื่อและเวอร์ชั่นของแพ็คเกจที่เราต้องการติดตัั้ง ดังตัวอย่าง
{
"require": {
"monolog/monolog": "2.0.*"
}
}
สามารดูรายละเอียดการสร้าง composer.json เพิ่มเติมได้ที่ https://getcomposer.org/doc/04-schema.md
จากนั้นให้ทดลองรันคำสั่ง composer install จากนั้นโปรแกรมจะทำการดาวน์โหลดแพ็คเกจที่เราต้องการทั้งหมดลงในไดเรกทรอรีที่เรารันคำสั่ง ซึ่งจะโดนรวบรวมไว้ในไดเรกทอรีชื่อ vendor ดังรูป
ตัวอย่างโค้ดการใช้งานแพ็คเกจ Monolog
เราสามารถเรียกใช้ Library ในแพ็คเกจทั้งหมดที่ดาวน์โหลดมาโดยใช้คำสั่งภาษา PHP ดังนี้
จากนั้นให้ใส่คำสั่งเรียกการใช้งาน Library ของ Monolog และคำสั่งต่างๆ ลงไปดังรูปตัวอย่าง
ผลลัพท์ที่ได้
โปรแกรมจะสร้างไฟล์ Log ชื่อ test_app.log โดยจัดเก็บรายการ Log ต่างๆ พร้อมวันและเวลาที่มีการจัดเก็บไว้ ดังรูป
สรุป
Composer เป็นเครื่องมือที่ช่วยให้นักพัฒนาภาษา PHP สามารถดาวน์โหลด และเรียกใช้งาน Library และแพ็คเกจต่างๆ ที่มีผู้พัฒนาไว้แล้ว มาใช้งานในโปรเจ็กต์ของเราได้สะดวกรวดเร็วยิ่งขึ้น อีกทั้งในกรณีที่การพัฒนามีผู้พัฒนาหลายคน เครื่องมือนี้ยังช่วยให้สามารถควบคุมเวอร์ชั่นของแพ็คเกจที่ใช้พัฒนาได้ง่ายขึ้นอีกด้วย