Цель проекта — преобразовать php-скрипт в .phar.
Мой проект состоит из:
1 единственный index.php, который вызывает классы в / lib и / database папки
цель состоит в том, чтобы как можно меньше распространяемых файлов (в идеале 2: index.php и assets.phar, который будет включать все файлы из / lib и / database) или даже 1 (index.phar)
Я попытался с empir с любым успехом: кто-то делал это раньше?
Любой учебник доступен?
использование Phar
учебный класс. Например, положить это в compress.php
:
$phar = new Phar('index.phar');
$phar->addFile('index.php');
$phar->buildFromDirectory('lib');
$phar->buildFromDirectory('database');
Бежать php compress.php
из командной строки. Вуаля, у тебя есть Фар.
Я использую следующий скрипт:
<?php
$phar = new \Phar(__DIR__ . '/index.phar');
$phar->startBuffering(); // For performance reasons. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes.
$phar->addFile('index.php');
$phar->addFile('composer.json');
$phar->addFile('composer.lock');
$phar->buildFromDirectory(__DIR__ . '/vendor');
$phar->stopBuffering();
Запустите следующую команду, чтобы запустить предыдущий скрипт:
$ php -dphar.readonly=0 index.php
(Создание phar-архивов по умолчанию отключено в PHP.)