gopaycommunity / gopay-php-api

GoPay's PHP SDK for Payments REST API
MIT License
81 stars 38 forks source link

Nefunkční neprodukční prostředí v Symfony #36

Closed Holicz closed 4 years ago

Holicz commented 4 years ago

Problém: Při nastavení isProductionMode na false se použije produkční prostředí v novém Symfony, které používá .env na konfiguraci.

Proč: Ve třídě GoPay v metodě buildUrl() na řádku 49 se používá (bool)$this->getConfig('isProductionMode'). To je v novém symfony problém, protože parametry z .env souboru jsou by default přetypovány na string a (bool) 'false' vrací true. Samozřejmě programátor může pole přetypovat, ale není to moc typické a v Symfony dokumentaci je to docela utopené.

Řešení: Předělat funkci buildUrl například takto. Pravděpodobně se najde i hezčí řešení.

public function buildUrl($urlPath)
    {
        $isProductionMode = $this->getConfig('isProductionMode');
        if (!(bool) $isProductionMode || $isProductionMode === 'false') {
            return 'https://gw.sandbox.gopay.com/';
        } 

        return 'https://gate.gopay.cz/';
    }
FSichinger commented 4 years ago

Upraveno v v1.4.3,

viz 2860806

Knihovna momentalne dokáže zpracovat uvedene hodnoty