-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deprecated functions in php^ 8.1 #71
Comments
confirmo que esto es tal cual lo indica @BryanVillaDev en 8.3 genera mismos errores. ¿cuando se tendra un update del sdk para arreglar estos problemas? |
Si bien es cierto que el proyecto ya no pasa los estándares de PHP >= 8.1 encuentro raro el mensaje de error de la clase Charge ya que la firma del método $epayco = new Epayco(
[
"apiKey" => $config['epayco.publicKey'],
"privateKey" => $config['epayco.privateKey'],
"lenguage" => "ES",
"test" => $configs['epayco.testMode']
]
);
$charge = $epayco->charge->create();
echo $charge->data->description; En PHP 8.3 ejecuto el código anterior y obtengo el error desde el servicio web: |
En la librería epayco/epayco-php, específicamente en los archivos Client.php y Resources/Charge.php, se ha identificado un uso obsoleto en la declaración de parámetros opcionales antes de parámetros obligatorios en las firmas de métodos. Esto genera advertencias de tipo "Deprecated" en versiones de PHP 7.4 y posteriores, lo cual puede afectar la compatibilidad y el funcionamiento correcto de la librería en entornos de producción que utilicen estas versiones de PHP.
Archivos y líneas afectadas:
Problema: Parámetro opcional $data declarado antes del parámetro obligatorio $lang.
Línea afectada: 34
Problema: Parámetro opcional $options declarado antes del parámetro obligatorio $permission.
Línea afectada: 57
Ejemplo de declaración incorrecta:
public function ejemplo($parametroOpcional = null, $parametroObligatorio) { // Código }
Solución sugerida:
Se recomienda modificar las firmas de los métodos para que todos los parámetros obligatorios se declaren antes de cualquier parámetro opcional. Esto asegura la compatibilidad con las versiones actuales y futuras de PHP, evitando las advertencias de obsolescencia.
Ejemplo de corrección:
public function ejemplo($parametroObligatorio, $parametroOpcional = null) { // Código }
Acción requerida:
Sería ideal actualizar estas firmas de métodos en la librería para cumplir con las buenas prácticas de desarrollo en PHP y evitar advertencias que pueden resultar en una mala experiencia para los desarrolladores que utilizan esta librería.
The text was updated successfully, but these errors were encountered: