J'ai la fonction C++ suivante:stdout de l'extension PHP généré SWIG
void foo() {
std::cout << "bar" << std::endl;
}
Je portage à PHP via ce SWIG. Tout compile bien et l'extension se charge correctement. Je suis en mesure d'appeler foo()
à partir de PHP, mais je ne vois que la sortie bar
si je cours le script PHP à partir de la ligne de commande.
$ php script.php
bar
Si je charge le script dans le navigateur, rien ne s'affiche. Pourquoi ne montre-t-il pas bar
dans ce cas?
Très probablement PHP redéfinit sa sortie quelque part. Cela étant dit: avoir la fonction juste abuser stdout est très irritant en php, ne pouvez-vous pas juste renvoyer une chaîne, et laisser à l'utilisateur PHP de décider si 'echo' ou de continuer à manipuler un retour? Tous ces ob_starts forcés() me rendent fou :) – Wrikken