静的コンテンツを phar アーカイブ (画像、javascript、または html ファイル) に追加することが合法かどうか疑問に思っていました。もしそうなら、どうすればそれらをクライアントに提供することができますか?
これまでに見た唯一の例は次のとおりです。
<?php
header('Content-type: image/jpeg');
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>
しかし、これは行くべき道ではないと思います。
UPATE: 誰かが同じことをしようとしている場合に備えて。phar アーカイブのスタブとして設定されたこのコードは、私にとってはうまくいきました。
<?php
Phar::interceptFileFuncs();
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>
phar アーカイブ内のすべての静的コンテンツは引き続き php インタープリターを通過しますが、少なくとも、ヘッダーの MIME タイプを設定したり、readfile() を使用して手動で静的ファイルのコンテンツを提供したりする必要はありません。phar スタブ内のこれらの関数により、透明に見えます。