(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::offsetSet — Met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
Note:
Cette méthode nécessite que la variable de configuration INI
phar.readonly
soit définie à0
pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.
C'est une implémentation de l'interface ArrayAccess qui permet la manipulation directe du contenu d'une archive Phar en utilisant les crochets d'accès au tableau. offsetSet est utilisé pour modifier un fichier existant ou pour ajouter un nouveau fichier à l'archive Phar.
localName
Le nom de fichier (en chemin relatif) à chercher dans le Phar.
value
Contenu du fichier.
Aucune valeur de retour.
Si phar.readonly est à 1
,
une exception BadMethodCallException est levée, car modifier un Phar n'est
permis que quand phar.readonly est à 0
. Une exception
PharException est levée s'il y a eu un problème lors de l'écriture des
changements de l'archive Phar sur le disque.
Exemple #1 Un exemple avec Phar::offsetSet()
offsetSet ne doit pas être accédé directement, mais plutôt via l'opérateur d'accès
au tableau, []
.
<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
try {
// appelle offsetSet
$p['fichier.txt'] = 'Salut';
} catch (Exception $e) {
echo 'Ne peut pas modifier fichier.txt:', $e;
}
?>
Note: Phar::addFile(), Phar::addFromString() et Phar::offsetSet() enregistre une nouvelle archive phar à chaque fois qu'elles sont appelées. Si les performances sont une préoccupation, Phar::buildFromDirectory() ou Phar::buildFromIterator() devraient être utilisé à la place.