แนะนำตัว
phar:// stream wrapper มีอยู่ใน PHP ทุกรุ่นหลังจาก 5.3.0 Phar ย่อมาจาก PHP Archive . มันถูกใช้เพื่อแจกจ่ายแอปพลิเคชันหรือไลบรารี PHP และดำเนินการเป็นไฟล์ PHP ปกติ ฟาร์:// wrapper รองรับการเปิดไฟล์ด้วย fopen() สำหรับการดำเนินการอ่าน/เขียน เปลี่ยนชื่อ และไดเร็กทอรีสตรีม opendir() รวมทั้งสร้างและลบไดเร็กทอรี
ฟา คลาสอนุญาตให้บรรจุภัณฑ์ทรัพยากรของแอปพลิเคชันบรรจุอยู่ภายในไดเร็กทอรีในไฟล์เก็บถาวร phar ในการดำเนินการอ่าน ไฟล์เก็บถาวรนี้จะถูกใส่ใน phar:// เครื่องห่อ
สร้างคลังเอกสาร
ในการเริ่มต้น ตรวจสอบให้แน่ใจว่า phar.readonly การตั้งค่าใน php.ini ถูกตั้งค่าเป็น 0 จากนั้น ให้สร้างโฟลเดอร์ src ที่ใส่ทรัพยากรทั้งหมดของแอปพลิเคชัน สร้างไฟล์ index.php
<?php echo "phar application started"; ?>
ใช้วัตถุของคลาส Phar เพื่อสร้างไฟล์เก็บถาวร phar ที่มีไฟล์ในโฟลเดอร์ src ด้วย buildFromDirectory() กระบวนการ. ระบุ index.php เป็น setDefaultStub
<?php
// The php.ini setting phar.readonly must be set to 0
$pharFile = 'app.phar';
// clean up
if (file_exists($pharFile)) {
unlink($pharFile);
}
if (file_exists($pharFile . '.gz')) {
unlink($pharFile . '.gz');
}
// create phar
$p = new Phar($pharFile);
// creating our library using whole directory
$p->buildFromDirectory('src/');
// pointing main file which requires all classes
$p->setDefaultStub('index.php', '/index.php');
// plus - compressing it into gzip
$p->compress(Phar::GZ);
echo "$pharFile successfully created";
?> เรียกใช้สคริปต์ด้านบนจากบรรทัดคำสั่ง
php create-phar.php
สิ่งนี้จะสร้าง app.phar ในไดเร็กทอรีการทำงาน ในการรัน phar archive ให้ใช้คำสั่งต่อไปนี้
php app.phar
การใช้เครื่องห่อ phar://
<?php
echo file_get_contents('phar://app.phar/index.php');
?> ซึ่งจะแสดงเนื้อหาของไฟล์ index.php