Мне просто интересно, законно ли добавлять статический контент в phar-архивы (изображения, javascript или html файлы). И если да, как мне заставить их обслуживать клиента?
Единственный пример, который я видел до сих пор:
<?php
header('Content-type: image/jpeg');
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>
, но я думаю, это не выход.
ОБНОВЛЕНИЕ: На всякий случай кто-то попытается сделать то же самое. Этот фрагмент кода, установленный как заглушка для phar-архива, работал у меня:
<?php
Phar::interceptFileFuncs();
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>
Весь статический контент внутри phar-архива по-прежнему проходит через интерпретатор php, но, по крайней мере, нет необходимости делать такие вещи, как установка типа mime заголовка и обслуживание статическое содержимое файла с помощью readfile () вручную. Эти функции в phar-заглушке делают его прозрачным.