สำหรับบทเรียนรู้นี้เป็นการพัฒนา Web Application ภาษา PHP โดยใช้ Composer เป็นตัวจัดการ Package หากยังไม่รู้ว่า Comoser คืออะไรตามไปอ่านเพิ่มเติมได้ที่ Composer สำหรับ PHP Developer
Composer เป็นโปรแกรมสำหรับจัดการ Package ต่างๆ ที่เราติดตั้งโดยเมื่อ Package ที่เราติดตั้งมีการ Update Composer ก็จะ Update ให้เราเช่นกัน ทำให้เกิดความสะดวกโดยที่ไม่ต้องดาวน์โหลดมาติดตั้งเอง (สมัยก่อนมีสัก 10 Package นี่ก็ยุ่งเหมือนกัน)
การสร้าง Project
เริ่มจากการสร้าง Folder ใน Root directory ของ Web server ในที่นี้ผมตั้งชื่อว่า php_tutorial โดยใช้ WAMP Server (ใช้ตัวอื่นก็ได้ครับ)
D:\wamp\www\php_tutorial
จากนั้นสร้างไฟล์ composer.json พร้อมใส่ {} ดังนี้
{
}
จากนั้นเปิด command prompt แล้วเข้าไปที่ folder php_tutorial จากนั้นพิมพ์คำสั่ง
composer update
จะเห็นว่ามี folder vendor เกิดขึ้นและมีไฟล์ต่างๆ เกิดขึ้นดังนี้
โดย Package ต่างๆ จะถูก autoload เข้ามาโดยอัตโนมัติ โดยที่ไม่ต้อง include(); ไฟล์ Package ให้ยุ่งยาก
การติดตั้ง Package
ทดลองติดตั้ง Package โดยเข้าเว็บไซต์
https://packagist.org/
แล้วค้นหา Package เช่น mpdf เป็น Package สำหรับการสร้างไฟล์ PDF
และเปิดดูจะพบคำสั่งในการติดตั้ง
พิมพ์คำสั่งใน command prompt
composer require mpdf/mpdf
เมื่อติดตั้งเสร็จแล้วจะเห็นว่ามีข้อมูลเกิดขึ้นที่ไฟล์ composer.json
{
"require": {
"mpdf/mpdf": "^6.1"
}
}
เมื่อติดตั้งเสร็จแล้ว
และจะเห็นว่า Package ได้ถูก load ในไฟล์ autoload_classmap.php เรียบร้อยแล้ว พร้อมกับการ map class ต่างๆ ไว้ให้เรียกใช้งาน (use)
การนำ Package ไปใช้งาน
ในไฟล์ที่ต้องการนำ Package ไปใช้งานนั้นให้ทำการ include() ไฟล์ autoload.php ใน vendor ดังนี้
<?php
include 'vendor/autolod.php';
จากนั้นหากต้องการเรียกใช้งาน package ไหนให้ใช้คำสั่ง use ได้เลย เช่น
use mPDF;
use my\name\space\MyClass;
ในที่นี้มาทดลองใช้งาน mPDF ในการสร้างไฟล์ PDF ด้วย PHP กัน สามารถดูเพิ่มเติมได้จาก
https://mpdf.github.io/getting-started/creating-your-first-file.html
ตัวอย่างการเรียกใช้งาน mPDF
<?php
//mpdf.php
include 'vendor/autoload.php';
use mPDF; //mPDF ได้มาจาก key index ใน autoload_classmap.php
$mpdf = new mPDF();
$mpdf->WriteHTML('
Hallo World
');
$mpdf->Output();
ตัวอย่างผลลัพท์ http://localhost/php_tutorial/mpdf.php
บทสรุป
การเขียนโปรแกรมด้วยภาษา PHP นั้นมีโปรแกรมที่ช่วยในการจัดการ Package ซึ่งช่วยให้สะดวกต่อการติดตั้งและอัพเดทแพกเกจต่างๆ ทำให้เกิดความสะดวกในการเรียกมาใช้งาน และเป็นมาตรฐานสากลมากยิ่งขึ้น
ความคิดเห็น