Comment résoudre les exceptions de sérialisation avec des fermetures dans Zend Mail Transport ?

Barbara Streisand
Libérer: 2024-10-24 02:29:29
original
727 Les gens l'ont consulté

How to Resolve Serialization Exceptions with Closures in Zend Mail Transport?

Exception de sérialisation avec fermetures

Problème :

Lors de l'utilisation de fermetures dans la méthode _initMailer, les tests échouent à l'exception : "La sérialisation de 'Closure' n'est pas autorisée."

Cause :

Les fonctions anonymes ne peuvent pas être sérialisées. Dans le code fourni, une fermeture est utilisée comme paramètre de rappel pour le transport Zend_Mail_Transport_File.

Solution 1 : Remplacer la fermeture par une fonction régulière

Remplacer la fermeture par une fonction régulière définie en dehors de la méthode _initMailer. Par exemple :

<code class="php">function emailCallback() {
    return 'ZendMail_' . microtime(true) . '.tmp';
}

$callback = "emailCallback";</code>
Copier après la connexion

Solution 2 : Utiliser l'appel de méthode indirect via une variable de tableau

Vous pouvez également utiliser une variable de tableau pour appeler indirectement une méthode dans votre classe comme rappel. Reportez-vous à la documentation Zend Mail pour plus de détails :

<code class="php">$callback = array($this, "aMethodInYourClass");</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!