Literály
Sekce literals rozhoduje o tom, jak se píšou hodnoty přímo v kódu: pole []
místo array(), uvozovky řetězce, oddělovače číslic 1_000_000, heredoc bez interpolace jako
nowdoc, dva řetězce spojené tečkou na jednom řádku a jméno třídy v řetězci.
Klíč quotes se týká jen obyčejného řetězce, tedy takového, který nemá interpolaci proměnné, escape
sekvenci, kterou znají jen dvojité uvozovky, ani uvozovku žádaného druhu uvnitř. U všech ostatních na druhu uvozovek
záleží a zůstanou, jak jsou.
literals:
longArraySyntax: forbidden
quotes: single
digitGroupsFrom: 7
concatenatedLiterals: joined
$colors = array("red", "green"); // The array must be written `[…]` instead of `array(…)`. // A plain string must be written with single quotes. // A plain string must be written with single quotes.
$limit = 1000000; // The number `1000000` must be written `1_000_000`.
$query = 'SELECT * ' . 'FROM users'; // Useless concatenation of two string literals.
$greeting = "Hello $name";
$colors = ['red', 'green'];
$limit = 1_000_000;
$query = 'SELECT * FROM users';
$greeting = "Hello $name";
Řetězec s proměnnou zůstal ve dvojitých uvozovkách, protože ty jeho význam mění.
literals.nullArrayKey
[null => 1] is ['' => 1], which it becomes.
forbidden: never therekeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette keep,
symfony keep
literals.longArraySyntax
array(1, 2) is [1, 2], list($a) = is [$a] =.
forbidden: never therekeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs forbidden, psr12 keep, nette
forbidden, symfony forbidden · pokrývá array_syntax, list_syntax,
Generic.Arrays.DisallowLongArraySyntax, SlevomatCodingStandard.PHP.ShortList
literals.classNameInString
'Acme\Shop\Order' is Order::class.
forbidden: never therekeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · jen s typy · standardy: perCs keep, psr12 keep, nette
forbidden, symfony keep · pokrývá class_keyword
Jméno třídy v řetězci se přepíše na ::class jen tehdy, když třída toho jména v projektu opravdu
existuje; to DressCode zjistí z typů z PHPStanu. Pravidlo
class_keyword PHP CS Fixeru to podle vlastní dokumentace poznat nemůže, protože nad tokeny neví, jaké třídy
projekt má.
literals.manualEmptyTest
strlen($s) === 0 is $s === ''.
forbidden: never therekeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · jen s typy · standardy: perCs keep, psr12 keep, nette
forbidden, symfony keep · pokrývá
PhpCsFixerCustomFixers/no_useless_strlen, string_length_to_empty
literals.backslashes
A backslash of a string that escapes nothing.
escaped: every backslash written\\keep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette escaped,
symfony keep · pokrývá escape_implicit_backslashes, string_implicit_backslashes
literals.heredocWithoutInterpolation
Is a nowdoc.
forbidden: never therekeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs forbidden, psr12 keep, nette
forbidden, symfony keep · pokrývá
heredoc_to_nowdoc, SlevomatCodingStandard.PHP.RequireNowdoc
literals.digitGroupsFrom
The number of digits from which a decimal integer, or the integer part of a decimal number, has its digits grouped by three,
1_000; a number grouped already stays.
- počet od 1
keep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette 7, symfony
keep · pokrývá PhpCsFixerCustomFixers/numeric_literal_separator,
numeric_literal_separator, SlevomatCodingStandard.Numbers.RequireNumericLiteralSeparator
literals.fractionDigitGroupsFrom
The number of digits from which the fraction of a decimal number has its digits grouped by three, 0.000_1.
- počet od 1
keep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette 20,
symfony keep · pokrývá PhpCsFixerCustomFixers/numeric_literal_separator,
numeric_literal_separator, SlevomatCodingStandard.Numbers.RequireNumericLiteralSeparator
literals.quotes
The quotes of a plain string, one without interpolation, without an escape sequence only double quotes know and without a quote of the wanted kind inside.
single:'text'where double quotes gain nothingdouble:"text"where single quotes gain nothingkeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette single,
symfony single · pokrývá single_quote, Squiz.Strings.DoubleQuoteUsage
literals.concatenatedLiterals
Two string literals concatenated on one line, which are one literal, and the concatenation with an empty string, which is a cast or nothing.
joined:'a' . 'b'is'ab',. ''goeskeep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette joined,
symfony keep · pokrývá
PhpCsFixerCustomFixers/no_superfluous_concatenation, Generic.Strings.UnnecessaryStringConcat
literals.concatenatedLiteralsOverLines
Two string literals concatenated on different lines.
joined:'a'and. 'b'on the next line are'ab'keep: nic se nevynucuje, kód zůstane, jak je
Požadavek · standardy: perCs keep, psr12 keep, nette keep,
symfony keep · pokrývá
PhpCsFixerCustomFixers/no_superfluous_concatenation, Generic.Strings.UnnecessaryStringConcat