สร้าง Project PHP และจัดการ Package ด้วย Composer

wave
มานพ กองอุ่น 6 พ.ค. 2016 14:40:56 25,191

สำหรับบทเรียนรู้นี้เป็นการพัฒนา 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 ซึ่งช่วยให้สะดวกต่อการติดตั้งและอัพเดทแพกเกจต่างๆ ทำให้เกิดความสะดวกในการเรียกมาใช้งาน และเป็นมาตรฐานสากลมากยิ่งขึ้น

 


ความคิดเห็น

หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com

เขียนบทเรียนรู้ของคุณ

รายละเอียด
  • ดู 25,191
  • รักเลย 0
  • หมวดหมู่ PHP Data Object (PDO)
  • เขียนเมื่อ
  • แก้ไขเมื่อ
  • Tags php composer project
ข้อมูลผู้เขียน
มานพ กองอุ่น

มานพ กองอุ่น

เป็นสมาชิกเมื่อ: 18 ธ.ค. 2009