(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::setMetadata â Fixe les mĂ©tadonnĂ©es de l'archive phar
Note:
Cette méthode nécessite que la variable de configuration INI
phar.readonlysoit dĂ©finie Ă0pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lancĂ©e.
Phar::setMetadata() doit ĂȘtre utilisĂ©e pour stocker des donnĂ©es personnalisĂ©es qui dĂ©crivent l'archive phar, en tant qu'entitĂ© Ă part entiĂšre. PharFileInfo::setMetadata() doit ĂȘtre utilisĂ©e pour les mĂ©tadonnĂ©es spĂ©cifiques aux fichiers. Les mĂ©tadonnĂ©es peuvent diminuer les performances de chargement d'une archive phar si les donnĂ©es sont importantes.
Une utilisation possible des mĂ©tadonnĂ©es est la spĂ©cification des fichiers Ă utiliser au sein de l'archive pour la lancer, ou l'emplacement d'un fichier de manifeste comme le fichier package.xml de » PEAR. De façon gĂ©nĂ©rale, toute donnĂ©e utile qui dĂ©crit l'archive phar peut ĂȘtre stockĂ©e.
metadataToute variable PHP contenant des informations à stocker et qui décrit l'archive phar
Aucune valeur n'est retournée.
Exemple #1 Un exemple avec Phar::setMetadata()
<?php
// on s'assure que le phar n'existe pas dĂ©jĂ
@unlink('nouveau.phar');
try {
$p = new Phar(dirname(__FILE__) . '/nouveau.phar', 0, 'nouveau.phar');
$p['fichier.php'] = '<?php echo "salut"';
$p->setMetadata(array('chargeur' => 'fichier.php'));
var_dump($p->getMetadata());
} catch (Exception $e) {
echo 'Ne peut pas créer/modifier le phar :', $e;
}
?>L'exemple ci-dessus va afficher :
array(1) {
["chargeur"]=>
string(11) "fichier.php"
}