Closed sergiovier closed 3 years ago
El tema de incluir defaults ahi es que esta restringido el tipo de valores, no podes poner caracteres especiales, etc.. lo que no permite que sea uniforme para cualquier variable.
Por otro lado, si estas parametrizando un parametro (valga la redundancia) es porque esperas que siempre se le asigne valor, deberia ser un requerimiento para quien instala.
Toba esta lleno de defaults y en retrospectiva no se si fue la mejor decisión del punto de vista de entender que pasa detras.
A partir del desarrollo en https://github.com/SIU-Toba/framework/issues/8, está bueno poder contar con una forma de especificar valores por defecto para las ENV si es que estas no se proporcionan.
Viendo la sintaxis, podríamos especificar
$env(TOBA_SESSION_NAME:TOBA_SESSID)$
dondeTOBA_SESSID
sería el valor por defecto si la variableTOBA_SESSION_NAME
no está presentehttps://github.com/SIU-Toba/framework/blob/e88c3a4e89360f0cb5b6347fe6accda11e9edc0f/php/lib/toba_config.php#L191
La expresión regular puede ser
'/^\$env\((\w*)(?::(\w*))?\)\$$/'
y matchea la situación actual y el default si se lo proporciona, quedando disponible en$matches[2]
.Habría que agregar una validación en el momento de recuperar la ENV, y si
getenv($name) === false
podemos optar por el default.