Autor Zpráva
ondra256
Profil
Dobrý den,

dostal se mně do rukoku projekt, který využívá knihovnu "brick/money", když jsem ji nainstaloval přes composer tak na localu mně knihovna funguje.

Když nasadím zdrojáky na ostrý provoz tak už to začne padat na chybě: "syntax error, unexpected '.', expecting '&' or variable"

Když jsem se podíval v čem je problém, tak jsem zjistil, že napříč knihovnou jsou tři tečky před proměnnou.

Například: $this->currencies[$currencyCode] = Currency::create(... $data);


Celý zdroják si můžete prohlédnout zde:
github.com/brick/money/blob/master/src/CurrencyProvider/ISOCurrencyProvider.php


Hledal jsem na internetu, ale nenaašel jsem žádné informace co ony tři tečky znamenají.

Víte někdo co to znamená, proč tam jsou?

předem děkuji za odpověď
Jan Tvrdík
Profil
brick/money potřebuje PHP 5.6+

Ty tři tečky se používají pro zápis funkcí s proměnným počtem argumentů, viz
wiki.php.net/rfc/variadics
wiki.php.net/rfc/argument_unpacking
php.net/manual/en/migration56.new-features.php#migration56.new-features.variadics
php.net/manual/en/functions.arguments.php#functions.variable-arg-list
ondra256
Profil
Jan Tvrdík:
Dík,

tuto konstrukci jsem doteď neznal. Podíval jsem se co za php běží na serveru a je tam 5.4. V tom bude problém :-)

Ale mnohokrát děkuju

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: