J'ai un contrôleur qui, entre autres choses, envoie des courriels. Je dois faire écho à un message à l'utilisateur avant que l'envoi de l'email commence (sinon il semble que l'écran soit bloqué).
Alors, comment puis-je faire écho à un message qui est défini au début d'un contrôleur, avant que j'atteigne la fin du contrôleur, ou, devrais-je penser dans une autre direction tous ensemble?Comment vider la sortie dans ZF
0
A
Répondre
1
Essayez peut-être:
<?php
//...
public function someAction()
{
echo "Something";
ob_flush();flush();
}
Ce forum post traite votre question. Ils suggèrent:
<?php
$frontController = Zend_Controller_Front::getInstance();
$frontController->setParam('disableOutputBuffering', true);
Puis en effectuant la technique ob_flush();flush();
.
0
Vous pouvez essayer d'utiliser une fonction d'arrêt pour envoyer l'e-mail. Si vous videz également le tampon de sortie, l'utilisateur verra d'abord la page affichée. Dans votre appel code:
register_shutdown_function('send_email', $params);
Et puis ont une fonction qui ressemble à:
function send_email($params) {
ob_flush();flush();
// Send your email here
}
1
Pour la partie du courrier de la question. Selon le timing - combien de temps après la requête le message doit être envoyé - une autre possibilité serait de créer une file d'attente de messages (peut-être une table db), écrire un enregistrement dans cette table, puis lancer un processus cron qui consomme la file d'attente, envoie des messages non envoyés, les marque comme envoyés, etc.
Questions connexes
- 1. Comment puis-je forcer IIS 7 à vider la sortie?
- 2. Comment vider un TFileStream?
- 3. Comment faire pour vider la sortie dans les retours arrière En Perl?
- 4. ZF Route comment éviter overide?
- 5. Problème de routage ZF
- 6. Vider la configuration du conteneur dans StructureMap
- 7. Comment vider une variable dans JSP?
- 8. Comment vider un tableau dans Axapta 3.0?
- 9. Comment vider le tampon io dans Erlang?
- 10. Comment puis-je écrire cette requête dans ZF?
- 11. Est-il possible de vider la sortie avec iText RTF (bibliothèque Java) progressivement? (erreur hors mémoire)
- 12. Vider le résultat de la requête mdx dans Excel
- 13. Comment vider les champs d'un objet vers la console?
- 14. ZF: Utilisation de setObjectKey dans partialLoop pour des partiels spécifiques
- 15. Comment vider efficacement un fichier Perl DBM?
- 16. Comment faire pour vider les symboles dans un fichier .a
- 17. zend_config_ini cassé après la mise à niveau à zf 1.9
- 18. comment vider les en-têtes de réponse dans ASP.Net
- 19. Vider un DataGridView
- 20. Zend_Search_Lucene massif - similaire à ZF problème-5545
- 21. Comment vider des fichiers en lot
- 22. Comment capturer la sortie d'execvp
- 23. Comment inverser la sortie sed?
- 24. Désactiver la sortie dans Rails
- 25. Comment écrire dans la fenêtre de sortie dans Visual Studio?
- 26. La meilleure façon de vider la chaîne strings?
- 27. Sortie xUnit.net localisée dans la fenêtre de sortie Visual Studio
- 28. gérer la sortie curl dans php
- 29. capturer la sortie dans ASP.NET MVC
- 30. Sortie de la tâche java dans Ant
J'ai besoin de la disposition pour être là aussi. –
Dans ce cas, vous pouvez effectuer une requête AJAX lorsque votre vue est chargée, car la mise en page est restituée après l'exécution de l'action du contrôleur et non pendant. – Chris
Pensée donc ... Merci! –