A classe Phar suporta leitura e manipulação de arquivos Phar, bem como iteração por meio da funcionalidade herdada da classe RecursiveDirectoryIterator. Com suporte à interface ArrayAccess, os arquivos dentro de um arquivo Phar podem ser acessados como se fossem parte de um array associativo.
  A classe PharData estende a classe Phar e
  permite criar e modificar arquivos tar e zip não executáveis (de dados), mesmo que
  phar.readonly=1 em php.ini. Dessa forma,
  PharData::setAlias() e PharData::setStub()
  estão desabilitados, pois os conceitos de alias e stub são exclusivos dos arquivos phar
  executáveis.
 
É importante observar que, ao criar um arquivo Phar, o caminho completo deve ser passado para o construtor do objeto Phar. Caminhos relativos não serão inicializados.
  Supondo que $p é um objeto Phar inicializado da seguinte maneira:
 
<?php
$p = new Phar('/caminho/para/meuphar.phar', 0, 'meuphar.phar');
?>
  Um arquivo Phar vazio será criado em /caminho/para/meuphar.phar,
  ou, se /caminho/para/meuphar.phar já existir, ele será aberto
  novamente. O literal meuphar.phar demonstra o conceito de um apelido
  que pode ser usado para referenciar /caminho/para/meuphar.phar em URLs como em:
 
<?php
// essas duas chamadas para file_get_contents() são equivalentes se
// /caminho/para/meuphar.phar tiver um apelido explícito de "meuphar.phar"
// em seu manifesto, ou se o phar foi inicializado com a
// configuração do objeto Phar do exemplo anterior
$f = file_get_contents('phar:///caminho/para/meuphar.phar/qualquercoisa.txt');
$f = file_get_contents('phar://meuphar.phar/qualquercoisa.txt');
?>
  Com o objeto $p Phar recém-criado,
  o seguinte é possível:
  
$a = $p['arquivo.php'] cria uma classe PharFileInfo
     que se refere ao conteúdo de phar://meuphar.phar/arquivo.php
    
   $p['arquivo.php'] = $v cria um novo arquivo
     (phar://meuphar.phar/arquivo.php) ou sobrescreve
     um arquivo existente dentro de meuphar.phar. $v
     pode ser uma string ou um ponteiro para arquivo aberto, caso em que todo o
     conteúdo do arquivo será usado para criar o novo arquivo. Observe que
     $p->addFromString('arquivo.php', $v) é funcionalmente
     equivalente ao acima. Também é possível adicionar o conteúdo de um arquivo
     com $p->addFile('/caminho/para/arquivo.php', 'arquivo.php').
     Por fim, um diretório vazio pode ser criado com
     $p->addEmptyDir('empty').
    
   isset($p['arquivo.php']) pode ser usado para determinar
     se phar://meuphar.phar/arquivo.php existe dentro de
     meuphar.phar.
    
   unset($p['arquivo.php']) apaga
     phar://meuphar.phar/arquivo.php de
     meuphar.phar.
    
   Além disso, o objeto Phar é a única maneira de acessar metadados específicos do Phar, por meio de Phar::getMetadata(), e a única maneira de definir ou recuperar o stub do carregador PHP de um arquivo Phar por meio de Phar::getStub() e Phar::setStub(). Além disso, a compactação de todo o arquivo Phar de uma só vez só pode ser manipulada usando a classe Phar.
A lista completa de funcionalidades do objeto Phar está documentada abaixo.
A classe PharFileInfo estende a classe SplFileInfo e adiciona vários métodos para manipular detalhes específicos de Phar de um arquivo contido em um Phar, como manipular compactação e metadados.
