>(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
Description
public
Phar::offsetSet(string
$localName, resource|string
$value): void
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.
Liste de paramètres
-
localName
-
Le nom de fichier (en chemin relatif) à chercher dans le Phar.
-
value
-
Contenu du fichier.
Valeurs de retour
Aucune valeur de retour.
Erreurs / Exceptions
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.
Exemples
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;
}
?>
Notes
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.
Voir aussi
- Phar::offsetExists() - Détermine si un fichier existe dans le phar
- Phar::offsetGet() - Obtient un objet PharFileInfo à partir d'un fichier
- Phar::offsetUnset() - Efface un fichier d'un phar