octal-notation
Osmičkové číslo se píše s prefixem 0o, ne s pouhou nulou na začátku.
Opravuje · PHP 8.1+ · v presetech dresscode/nette ·
pokrývá octal_notation
Co pravidlo hlídá
Zápis 0755 je osmičkové číslo, ale na první pohled vypadá jako desítkové s nulou navíc. PHP
8.1 přineslo prefix 0o, který osmičkovou soustavu říká stejně zřetelně jako 0x šestnáctkovou
a 0b dvojkovou. Pravidlo přepíše každé celé číslo začínající nulou a pokračující osmičkovými
číslicemi na tvar s 0o; samotná 0, čísla 0x, 0b a čísla s desetinnou
tečkou se ho netýkají.
Protože 0o755 starší PHP neumí přečíst, pravidlo se zapne jen v projektu, jehož cílová verze PHP je 8.1 nebo vyšší. V presetu tak nic hlídat nemusíte: pod 8.1 se pravidlo
samo vynechá.
Příklad
$mode = 0755; // An octal number must be written with the '0o' prefix
$zero = 0;
$flags = 0x1F;
$mode = 0o755;
$zero = 0;
$flags = 0x1F;
Zdroj
Třída OctalNotationRule, fixtury octal-notation.