วิธีใช้งาน 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 install PHPUnit

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

Composer file structure

ส่วนการใช้งานก็ไม่อยากครับ เพราะ 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

Composer run PHPUnit

โค้ด BasicComposerTest.php

<?php

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