Ciao a tutti,
sto cercando di risolvere un problema, premetto che questo codice funziona regolarmente, all'interno vedrete una funzione anonima, la riga che inizia con function ($coincidencias).
Dal momento che questo codice si trova all'interno di un metodo di un oggetto vorrei che, al posto di chiamare una funzione anonima, chiamare un metodo dell'oggetto che mi restituisca lo stesso risultato, ho provato in vari modi, ma non riesco a trovare la soluzione, premetto che il codice, così com'è funziona correttamente.
Le righe di codice in pratica cercano una corrispondenza all'interno di un file e tutte le corrispondenze vengono sotituite con un file dal nome '_corrispondeza.php' dove, se tale file non esiste, viene restituita la corrispondenza stessa senza modifiche.
Come posso fare la stessa cosa utilizzando un metodo all'interno dell'oggeto che si chiami ad esempio:
protected function getRegexToFichero($coincidencias){
...........stesso codice della funzione anonima
}
[]
Codice PHP:
$fichero = preg_replace_callback(
//espressione regolare
self::REGEX,
//funzione anonima
function ($coincidencias) {
$nombreFichero = str_replace("#", "", $coincidencias[0]);
$nombreFichero = "_" . strtolower($nombreFichero) . ".php";
$nombreFichero = $this->getFichero($nombreFichero);
if ($nombreFichero) {
return $nombreFichero;
} else {
return $coincidencias[0];
}
}
//fine funzione anonima
//file da analizzare
, $fichero
);
Grazie,
Roberto