แนะนำตัว
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