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.

verze: 1.0