(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — Define o conteúdo de um arquivo interno para o de um arquivo externo
Nota:
Este método requer que a configuração
phar.readonly
do php.ini seja definida como0
para funcionar com objetos Phar. Caso contrário, uma exceção PharException será lançada.
Esta é uma implementação da interface ArrayAccess que permite a manipulação direta do conteúdo de um arquivo Phar usando colchetes de acesso a arrays. offsetSet é usado para modificar um arquivo existente ou adicionar um novo arquivo a um arquivo Phar.
localName
O nome do arquivo (caminho relativo) a ser modificado em um Phar.
value
Conteúdo do arquivo.
Sem valores de retorno.
Se phar.readonly for 1
,
BadMethodCallException será lançada, pois modificar um Phar
só é permitido quando phar.readonly estiver definido como 0
. Lança
PharException se houver algum problema ao liberar
as alterações feitas no arquivo Phar para o disco.
Exemplo #1 Um exemplo de Phar::offsetSet()
offsetSet não deve ser acessado diretamente, mas sim usado
por meio de acesso a array com o operador []
.
<?php
$p = new Phar('/caminho/para/meu.phar', 0, 'meu.phar');
try {
// chama offsetSet
$p['arquivo.txt'] = 'Olá mundo';
} catch (Exception $e) {
echo 'Não foi possível modificar arquivo.txt:', $e;
}
?>
Nota: Phar::addFile(), Phar::addFromString() e Phar::offsetSet() salvam um novo arquivo phar cada vez que são chamadas. Se o desempenho for uma preocupação, Phar::buildFromDirectory() ou Phar::buildFromIterator() devem ser usadas.