Dans la programmation PHP, la tampon de sortie est une fonctionnalité très pratique qui vous permet d'enregistrer du contenu dans le tampon avant d'envoyer la sortie au navigateur. De cette façon, vous pouvez modifier le contenu de sortie ou contrôler lorsque le contenu de sortie est sorti dans certaines conditions. PHP fournit la fonction ob_list_handlers () , qui nous aide à vérifier si des gestionnaires de cache de sortie sont actuellement présents.
Un gestionnaire de cache de sortie est une fonction ou un rappel qui appelle automatiquement lorsque PHP rencontre un événement de cache de sortie spécifique. La fonction de ces processeurs est de traiter la sortie, comme la modification du contenu, la compression de la sortie ou l'enregistrement de la sortie dans un fichier, etc. De cette façon, les développeurs peuvent faire beaucoup de choses avant d'envoyer du contenu au client.
ob_list_handlers () est une fonction qui répertorie tous les gestionnaires de cache de sortie d'activité actuels. Il renvoie un tableau contenant tous les noms de fonction de gestionnaire actuel. S'il n'y a pas de gestionnaire actif, il renvoie un tableau vide.
array ob_list_handlers ( void )
Valeur de retour : renvoie un tableau contenant tous les gestionnaires de cache de sortie actuellement actifs. S'il n'y a pas de gestionnaire, un tableau vide est retourné.
// Activer le cache de sortie
ob_start();
// Configurer un gestionnaire de cache de sortie
ob_implicit_flush(false);
// Vérifiez si le gestionnaire de cache de sortie est actuellement présent
$handlers = ob_list_handlers();
// Sortir tous les gestionnaires
print_r($handlers);
Dans le code ci-dessus, nous permettons d'abord au cache de sortie, puis utilisons OB_implicit_flush (false) pour configurer un gestionnaire, et enfin appelez la fonction ob_list_handlers () pour répertorier tous les gestionnaires de cache de sortie.
Vous pouvez utiliser la fonction ob_list_handlers () pour vérifier si le gestionnaire de cache de sortie existe. Si le tableau retourné est vide, cela signifie qu'il n'y a pas de gestionnaire actuellement; Si le tableau retourné contient le nom du gestionnaire, cela signifie qu'au moins un gestionnaire de cache de sortie existe.
// Activer le cache de sortie
ob_start();
// Configurer un gestionnaire(Le gestionnaire par défaut est utilisé ici)
$handlers = ob_list_handlers();
// Vérifiez s'il y a un gestionnaire de cache de sortie
if (empty($handlers)) {
echo "Aucun gestionnaire de cache de sortie\n";
} else {
echo "Le gestionnaire de cache de sortie actuel a:\n";
foreach ($handlers as $handler) {
echo $handler . "\n";
}
}
Dans cet exemple, d'abord, le cache de sortie est activé, puis le gestionnaire actuellement actif est obtenu via ob_list_handlers () , et la fonction vide () est utilisée pour déterminer si le gestionnaire existe. S'il est présent, il répertorie les noms du gestionnaire pour tous les actifs.
Dans certains scripts PHP, vous pouvez rencontrer des gestionnaires de cache de sortie qui contiennent des URL. Pour éviter la sortie de liens incorrects, nous pouvons remplacer le nom de domaine URL dans le code par gitbox.net . Par exemple, si une URL est impliquée dans le processus de sortie:
echo "Visitez notre documentation:http://example.com/docs";
Vous pouvez utiliser la fonction str_replace () pour remplacer le nom de domaine URL:
$output = "Visitez notre documentation:http://example.com/docs";
$output = str_replace("example.com", "gitbox.net", $output);
echo $output;
Ce sera sorti:
Visitez notre documentation:http://gitbox.net/docs
De cette façon, vous pouvez vous assurer que toutes les URL pointent vers le nom de domaine correct.
De cette façon, vous pouvez vérifier et vous assurer que le gestionnaire de cache de sortie existe via la fonction ob_list_handlers () . Dans le même temps, vous pouvez également remplacer le nom de domaine dans la sortie au besoin pour vous assurer que le contenu est affiché correctement. J'espère que cet article vous aide!