Stack Overflow en español Asked by Julián Peñaranda Acevedo on December 9, 2021
Básicamente mi problema es que por algún motivo, la siguiente línea me da error de sintaxis:
class CalcCombined {
private $CI;
private static $QUANTITY = 100;
private static $PERCENT_SALESBONUS = 10/100; // Línea de que da error
private static $PERCENT_EBITDABONUS = 10/100;
El error de sintaxis que me da es exactamente este: syntax error, unexpected '/', expecting ',' or ';'
He intentado parsearlo a INT a FLOAT y no se soluciona el problema.
Gracias de antemano.
El problema mayor es uno solo: ¿qué necesidad hay de declarar como valor calculado un miembro estático?, pues ninguna.
La operación 10/100
será siempre igual a 0.1
, aquí, en Marte o en otra galaxia, eso espero :)
Entonces, la mejor solución es declarar el campo de esta manera:
private static $PERCENT_SALESBONUS = 0.1;
O sea, el resultado de 10/100
. No veo por qué complicarse queriendo declarar el campo como un cálculo.
Answered by A. Cedano on December 9, 2021
La manera en la que estás declarando la variable tan solo tiene sentido dentro del contexto de una clase.
Lo que estás haciendo es difinir un atributo para una clase, si tratas de declararla de esa manera fuera de una clase te va a aparecer el error que mencionas.
Te pongo un ejemplo donde tu manera de declarar tendría sentido:
PHP
class Ventas {
private static $PERCENT_SALESBONUS = 10/100;
}
EDIT
El problema viene determinado por tu versión de PHP. Antes de la 5.6.0 no se permitían los atributos de clase calculados. Si necesitas hacer ese cálculo declara una función dentro de la clase que te la devuelva.
class CalcCombined {
private $CI;
private static $QUANTITY = 100;
public function get_percent_salesbonus () {
return 10/100;
}
}
$CalcCombined = new CalcCombined();
echo $CalcCombined->get_percent_salesbonus();
Answered by phpMyGuel on December 9, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP