Por ejemplo, tengo un código de este tipo:Por qué funcionan como elemento de la matriz en la clase php no funciona
<?php
$A = array(
'echoSmth' => function(){
echo 'Smth';
}
);
$A['echoSmth'](); // 'Smth'
?>
funciona bien! Pero si $ a no es sólo una variable, sino un método de clase - que esto no funciona:
<?php
class AA {
public $A = array(
'echoSmth' => function(){ // Parse Error here!
echo 'Smth';
}
);
}
// Fixed call:
$t = new AA();
$t->A['echoSmth']();
// no matter what call, because error occurs early - in describing of class
?>
Por qué no funciona? Muestra: Parse error: syntax error, unexpected T_FUNCTION
P.S. Lo siento, he cometido algunos errores en la forma en que llamo al método, tenía prisa. Pero no importa cómo llame. El error ocurre incluso si acabo de declarar la clase, sin llamar
intentan $ t-> a [ 'echoSmth'](); sin el signo de dólar – usoban
@usoban: a en mayúsculas. –
@marcel a la derecha, estaba mirando la última línea, donde a es minúscula. mi mal :) – usoban