Skip to content

Correção para: Piggly\Pix\Emv\Field::__construct(): Implicitly marking parameter $id as nullable is deprecated #37

@andretauan

Description

@andretauan

Ao enfrentar esse problema consultei no GPT e encontrei a solução para a utilização da biblioteca no PHP 8.4

resposta:

Esse aviso não é erro de lógica na sua chamada ao Pix, mas sim uma depreciação do PHP 8.4: a partir dessa versão, não é mais permitida a declaração de parâmetros com valor padrão null sem marcar explicitamente o tipo como nullable.

Ou seja, não dá mais para fazer assim:
public function __construct(string $id = null) { … }

edite o arquivo vendor/piggly-dev/php-pix/src/Emv/Field.php (e outros que apresentem o mesmo padrão) e torne os tipos explicitamente nullable:

de: public function __construct(string $id = null, string $value = null)

para: public function __construct(?string $id = null, ?string $value = null)

Repita para todos os métodos cujo parâmetro tenha um = null sem ?.
Isso remove a deprecation e faz o PHP 8.4 aceitar o construtor normalmente.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions