วิธีใช้งาน Composer เบื้องต้น

Composer เป็นเครื่องมือ ของ PHP ใช้จัดการ library ที่ต้องการใช้ในโปรเจ็ค ลักษณะการใช้งานคือ ให้เราระบุ library ที่โปรเจ็คของเราต้องการไว้ในไฟล์ composer.json จากนั้น composer จะทำการติดตั้งหรืออัพเดท library ที่เราต้องการให้เลย ช่วยให้เราจัดการกับ library ได้ง่ายขึ้น

ในบทความนี้ผมจะพูดถึงการใช้งานเลยนะครับ เพราะวิธีการติดตั้งที่เว็บของ Composer เอง อธิบายไว้ละเอียดดีแล้วครับ ^^

เริ่มต้นกันเลยดีกว่าครับ สำหรับโปรเจ็คผมให้ชื่อว่า basic-composer ก็แล้วกันครับ สมมติผมอยากใช้งาน PHPUnit เพื่อจะได้พัฒนาโปรเจ็คด้วย TDD (Test Driven Development) ก็ใช้คำสั่งดังนี้ครับ

composer require phpunit/phpunit

คำสั่ง require จะทำการติดตั้ง library ที่เราเลือกให้และ library อื่นๆ ที่ library ที่เราเลือกใช้งานด้วยครับ อ่อลืมบอกไปเพื่อนๆ สามารถค้นหา library  ที่ต้องการได้จากเว็บไซต์ packagist.org ครับ

พอติดตั้งเสร็จแล้ว Composer จะเก็บ library ไว้ในโฟลเดอร์ vendor และสร้างไฟล์ composer.json ที่บอกว่าโปรเจ็คเราติดตั้ง library  อะไรไว้บ้าง อีกไฟล์ที่ถูกสร้างขึ้นเพื่อเอาไว้เช็คว่ามีการแก้ไขไฟล์ composer.json รึป่าวก็คือไฟล์ composer.lock

ส่วนการใช้งานก็ไม่อยากครับ เพราะ Composer จะสร้างไฟล์ vendor/autoload.php ไว้ ซึ่งจะ autoload class ของ library ที่เราติดตั้งผ่าน Composer เราก็แค่ requre ‘vendor/autoload.php’ เข้าไปในไฟล์ bootstrap ของโปรเจ็ค เราก็สามารถใช้ library ในโปรเจ็คได้เลยครับ

คำสั่งที่เป็น CLI (Command line Interface) จะถูกเก็บไว้ในโฟลเดอร์ vendor/bin ครับ ตัวอย่างการรันคำสั่ง PHPUnit ก็จะรันประมาณนี้ครับ

./vendor/bin/phpunit --colors BasicComposerTest.php

โค้ด BasicComposerTest.php

<?php

class BasicComposerTest extends PHPUnit_Framework_TestCase {
    function testMe()
    {
        $this->assertTrue(true);
    }
}