Phar::mount
(PHP >= 5.3.0, PECL phar >= 2.0.0)
Phar::mount — Monte un chemin ou un fichier externe à un emplacement virtuel au sein de l'archive phar
Description
$pharpath
, string $externalpath
)Tout comme le concept unix de montage d'un périphérique externe à un endroit de l'arborescence, Phar::mount() permet de se référer à des fichiers et des répertoires externes comme s'ils étaient à l'intérieur de l'archive.
Liste de paramètres
-
pharpath
-
Le chemin interne au sein de l'archive phar à utiliser en tant que point de montage. Doit être un chemin relatif dans l'archive phar, et ne doit pas déjà exister.
-
externalpath
-
Un chemin ou une URL vers un fichier ou un répertoire externe à monter au sein de l'archive
Valeurs de retour
Aucun retour. Une exception PharException est levée en cas d'échec.
Erreurs / Exceptions
Lève une exception PharException si un problème est rencontré lors du montage.
Exemples
Exemple #1 Un exemple avec Phar::mount()
<?php $configuration = simplexml_load_string(file_get_contents( Phar::running(false) . '/config.xml')); ?>
<?php // on commence par configurer l'association entre le fichier config.xml abstrait // et celui sur le disque Phar::mount('phar://config.xml', '/home/example/config.xml'); // on lance maintenant l'application include '/chemin/vers/archive.phar'; ?>
<?php // on commence par configurer l'association entre le fichier config.xml abstrait // et celui sur le disque if (defined('EXTERNAL_CONFIG')) { Phar::mount('config.xml', EXTERNAL_CONFIG); if (file_exists(__DIR__ . '/extra_config.xml')) { Phar::mount('extra.xml', __DIR__ . '/extra_config.xml'); } } else { Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml'); Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml'); } // on lance maintenant l'application include 'phar://' . __FILE__ . '/index.php'; __HALT_COMPILER(); ?>
<?php define('EXTERNAL_CONFIG', '/home/exemple/config.xml'); // on lance maintenant l'application include '/chemin/vers/archive.phar'; ?>