Ciao a tutti.
E' possibile passare delle variabili alla chiamata di una funzione tramite ob_start();?
Come? Oppure... soluzione alternativa?
Ciao a tutti.
E' possibile passare delle variabili alla chiamata di una funzione tramite ob_start();?
Come? Oppure... soluzione alternativa?
Per quale motivo ti serve di passare dei parametri aggiuntivi?
Che io sappi, un modo è usare delle variabili globali oppure un'oggetto:
Codice PHP:
<?php
class Handler {
var $test = '';
function ob_start_callback($content) {
return $content . $this->test;
}
}
$handler = new Handler();
$handler->test = ' World!';
ob_start(array(&$handler, 'ob_start_callback'));
echo('Hello');
?>
passare delle variabili mi serve perchè la funzione di callback aggiunge un elemento ad una pagina tramite il preg_replace.
Onde evitare di scrivere tante funzioni tutte simili, vorrei passare una variabile per dirgli quale elemento sostituire o almeno quale variabile interna utilizzare per sostituire un determinato elemento.
Hum... le variabili globali... non mi funzionano... anche richiamandole con $GLOBALS['name']
A me le variabili globali funzionano perfettamente come la soluzione precedente:
Codice PHP:
<?php
function callback($content) {
return $content . $GLOBALS['test'];
}
$GLOBALS['test'] = ' World!';
ob_start('callback');
echo('Hello');
?>