Composer นั้นเป็น dependency management tool สำหรับ PHP บ่อยครั้งที่เราจำเป็นต้องใช้ library อื่นๆ ในโปรเจ็คของเรา Composer นั้นช่วย install library ที่จำเป็นเหล่านั้นในโปรเจ็คให้ครับ Composer นั้นกำลังได้รับความนิยมเพิ่มขึ้นเรื่อยๆ สำหรับ PHP developer สมัยใหม่ครับผม
Composer นั้นใช้งานผ่าน command line ดังนั้นวันนี้เราจะมาทำให้ Mac OSX นั้นรู้จัก command composer
กันครับ และต้องมี PHP 5.3.2+ และ curl
ในเครื่องก่อนนะ
ติดตั้ง Composer
[updated 2014.01.16] ติดตั้งผ่าน homebrew นั้นดูเหมือนจะง่ายที่สุดครับ โดยก่อนอื่นเราต้อง tap composer ให้ homebrew รู้จักก่อน
\$ brew tap josegonzalez/homebrew-php
จากนั้นก็ติดตั้ง composer
\$ brew install josegonzalez/php/composer
ติดตั้งแบบ manual
ผมเลือก install แบบ global เพื่อที่จะให้เรียกใช้ composer
command ได้จาก directory ไหนก็ได้ในเครื่องครับ (สะดวกกว่าเวลาต้องใช้บ่อยๆ)
เปิด terminal ขึ้นมาแล้วก็พิมพ์ command สองบรรทัดนี้เลย
\$ curl -sS https://getcomposer.org/installer | php
ตามด้วย
\$ mv composer.phar /usr/local/bin/composer
เสร็จแล้วเราก็จะสามารถเรียกใช้ composer
command ได้จาก terminal แล้วครับ ทดสอบโดย
\$ which composer
ก็จะได้ path ที่เราติดตั้ง Composer ไว้ครับ
/usr/local/bin/composer
ใช้งาน Composer
ผมจะลองติดตั้ง SwiftMailer เป็น library สำหรับส่ง email ใน PHP ด้วย Composer ขั้นตอนแรกก็สร้าง directory เปล่าๆ ขึ้นมาก่อน
$ mkdir swift
$ cd swift
จากนั้นสร้างไฟล์ชื่อ composer.json
ขึ้นมา ไฟล์นี้จะเป็นตัวบอกว่าโปรเจ็คของเราต้องใช้ dependency ตัวไหนบ้าง สำหรับ library ต่างๆ หาได้จาก packagist.org ครับ
ไฟล์ composer.json
ก็จะประมาณนี้ครับ
{
"require" : {
"swiftmailer/swiftmailer": "5.1.\*@dev"
}
}
แล้วก็รัน
\$ composer install
รอจน install เสร็จ ก็จะได้ library SwiftMailer อยู่ใน directory vendor
ในโปรเจ็คของเราครับ
ใน directory vendor
จะมีไฟล์ autoload.php
ให้พร้อมให้เราใช้งาน ในโปรเจ็คของเราก็แค่เพิ่ม
require 'vendor/autoload.php';
ก็จะทำให้สามารถใช้ SwiftMailer ในโปรเจ็คได้ครับ