que tenía un problema similar donde una función totalmente contenida dentro de una función pública dentro de una clase que se estaba reportado como redeclarada. He reducido el problema a
class B {
function __construct() {
function A() {
}
}
}
$b1 = new B();
$b2 = new B();
El error fatal: no se puede redeclare A se produce() al intentar crear $ b2.
El autor original del código había protegido la declaración de clase de no ser declarada con if (! Class_exists ('B')) pero esto no protege la función interna A() de ser redeclarada si intentamos crear más de una instancia de la clase.
Nota: Esto probablemente no es el mismo problema que el anterior pero que es muy similar a algunas de las respuestas en PHP Fatal error: Cannot redeclare class
Esto es similar a un problema que tenía, pero mi problema estaba teniendo una función llamada definido dentro de un ' foreach' loop La solución terminó usando una función anónima. –
La respuesta básica para mí fue: No definir una función dentro de otra función. –