2016-02-11 9 views
5

PHPアプリケーションを実行可能なPharアーカイブにパッケージ化し、実行したPhar archiveメタデータにアクセスする必要があるメソッド付きクラスが1つあります。実行されたphar内のpharアーカイブメタデータを取得する方法は?

私は以下のようにメタデータを得ることができましたが、のメタデータを取得するために同じPharがロードされていると奇妙に思えます。

ありがとうございます方法Pharのメタデータをどのように実行するのですか?多分それを読んで、PharのStubか何かの中にそれを定義しました。

<?php 
namespace MyPhar; 
use \Phar; 

class InsideThePhar { 
    public function getPharMetaData() { 
     $phar_self = new Phar(Phar::running(false)); 
     $metadata = $phar_self->getMetadata(); 
     var_dump($metadata); 
     exit(); 
    } 
} 

答えて

1

PHPはhttp://git.php.net/?p=php-src.git;a=blob;f=ext/phar/phar.c;h=65ebce0f0856fc5a90a62d32dd0bb5c00627706f;hb=HEAD#l96

キャッシュを参照して、すでにロードされているのPharファイルのキャッシュを保持するPharファイルを開くときに使用するので、それは全く違うのPharファイルを開くほど高価ではありません。


PHP 7.2の時点で、現在実行中のpharファイルのメタデータを取得する方法はありません。

+0

送信時にソースを指してくれてありがとうございました。見つからなかった –

関連する問題