次の構造を持つ PHP アプリケーションがあるとします。
/
lib/
mylib.php
web/
index.php // includes "mylib.php" with: require_once __DIR__ . "/../lib/mylib.php"
同じソースベースで同時に次のケースをカバーしようとしています:
- No Phar : DocumentRootがweb/を指し、すべてのリクエストをindex.phpにリダイレクトして、アプリケーションをそのまま使用できること。
- Minimal Phar : web/index.phpのみを含み、 web/application-minimal.pharとして保存されるphar を生成できること。
- Full Phar : libディレクトリとweb/index.phpの両方のコンテンツを含み、web/application-full.pharとして保存されるphar を生成できること。
phar ファイルの場合、すべての要求は phar ファイル自体にリダイレクトされます。
*require_once* を変更せずに、これらすべてのユースケースを達成することは可能ですか?
*web/index.php からlib/mylib.phpをインクルードするために、さまざまなアプローチ (相対/絶対) を試しました。また、 Phar::mount()でいくつかのトリックを試しました。私の試みはどれも成功しませんでした。