2016-02-11 22 views
5

Ho inserito l'applicazione PHP nell'archivio Phar eseguibile e ci sono all'interno di una classe con metodo che dovrebbe accedere ai metadati eseguiti da Phar archive.Come ottenere i meta-dati dell'archivio phar all'interno del phar eseguito?

Potrei ottenere i metadati come mostrato di seguito, tuttavia sembra strano che io carichi lo stesso Phar all'interno del Phar archive eseguito per ottenere i suoi meta-dati.

Quindi c'è a destra come ottenere i meta-dati di Phar? Magari leggerlo e definirlo all'interno del Phar's Stub o qualcosa del genere.

<?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(); 
    } 
} 

risposta

1

PHP mantiene una cache dei file phar già caricati, vedere http://git.php.net/?p=php-src.git;a=blob;f=ext/phar/phar.c;h=65ebce0f0856fc5a90a62d32dd0bb5c00627706f;hb=HEAD#l96

La cache viene utilizzato quando l'apertura di file phar, quindi non è così costoso come l'apertura di un file di phar totalmente diverso.


E no, da PHP 7.2 non esiste un modo migliore per ottenere i metadati del file phar attualmente in esecuzione.

+0

grazie per indicare il momento della pubblicazione non riesco a trovarlo –

Problemi correlati