From 319e5a342599ea59cac8783f7d4f45753e5d4935 Mon Sep 17 00:00:00 2001 From: Lina Wolf <48202465+linawolf@users.noreply.github.com> Date: Sun, 13 Sep 2026 12:00:25 +0200 Subject: [PATCH] [TASK] Indent the PHP examples with two spaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The shared .editorconfig asks code examples to indent two spaces, so that a nested example still fits the 80 characters the prose around it is wrapped to. php-cs-fixer would undo that at the next `make fix`: without Config::setIndent() it normalises every example back to the four spaces PER-CS prescribes, silently and without a conflict. The fixer now indents two, and the three PHP files under Documentation/ follow in the same commit. Separately this does not work — the CGL check runs as a dry run in CI and would fail from the moment the setting lands until the files match it. The second fixer config in the repository root goes with it. It is a copy of the one under Build/, differing only in the path it hands the finder, and nothing reads it: Build/Scripts/runTests.sh names Build/.php-cs-fixer.dist.php in both the check and the fix command, and no Makefile target, workflow or composer script mentions the other. Left in place it would be the file someone edits when the two disagree. Whitespace only in the examples, git diff -w is empty there. The repository was CGL-clean beforehand, so nothing unrelated hides in the diff. Belongs with #873, which brings the .editorconfig itself. Releases: main, 14.3, 13.4 Assisted-by: Claude Opus 5 Signed-off-by: Lina Wolf --- .php-cs-fixer.dist.php | 76 ------------------- Build/.php-cs-fixer.dist.php | 2 + .../_ApplicationContext/_additional-2.php | 26 +++---- .../_ApplicationContext/_additional.php | 4 +- .../_ApplicationContext/_credentials.php | 30 ++++---- 5 files changed, 32 insertions(+), 106 deletions(-) delete mode 100644 .php-cs-fixer.dist.php diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php deleted file mode 100644 index 77dc23d1..00000000 --- a/.php-cs-fixer.dist.php +++ /dev/null @@ -1,76 +0,0 @@ -setFinder( - (new Finder()) - ->in(__DIR__ . '/Documentation') - ) - ->setRiskyAllowed(true) - ->setRules([ - '@DoctrineAnnotation' => true, - // @todo: Switch to @PER-CS2.0 once php-cs-fixer's todo list is done: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7247 - '@PER-CS1.0' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'cast_spaces' => ['space' => 'none'], - // @todo: Can be dropped once we enable @PER-CS2.0 - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'declare_parentheses' => true, - 'dir_constant' => true, - // @todo: Can be dropped once we enable @PER-CS2.0 - 'function_declaration' => [ - 'closure_fn_spacing' => 'none', - ], - 'function_to_constant' => ['functions' => ['get_called_class', 'get_class', 'get_class_this', 'php_sapi_name', 'phpversion', 'pi']], - 'type_declaration_spaces' => true, - 'global_namespace_import' => ['import_classes' => false, 'import_constants' => false, 'import_functions' => false], - 'list_syntax' => ['syntax' => 'short'], - // @todo: Can be dropped once we enable @PER-CS2.0 - 'method_argument_space' => true, - 'modernize_strpos' => true, - 'modernize_types_casting' => true, - 'native_function_casing' => true, - 'no_alias_functions' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_leading_namespace_whitespace' => true, - 'no_null_property_initialization' => true, - 'no_short_bool_cast' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_superfluous_elseif' => true, - 'no_trailing_comma_in_singleline' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unused_imports' => true, - 'no_useless_nullsafe_operator' => true, - 'ordered_imports' => ['imports_order' => ['class', 'function', 'const'], 'sort_algorithm' => 'alpha'], - 'php_unit_construct' => ['assertions' => ['assertEquals', 'assertSame', 'assertNotEquals', 'assertNotSame']], - 'php_unit_mock_short_will_return' => true, - 'php_unit_test_case_static_method_calls' => ['call_type' => 'self'], - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_scalar' => true, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'], - 'return_type_declaration' => ['space_before' => 'none'], - 'single_quote' => true, - 'single_space_around_construct' => true, - 'single_line_comment_style' => ['comment_types' => ['hash']], - // @todo: Can be dropped once we enable @PER-CS2.0 - 'single_line_empty_body' => true, - 'trailing_comma_in_multiline' => ['elements' => ['arguments', 'arrays', 'match', 'parameters']], - 'whitespace_after_comma_in_array' => ['ensure_single_space' => true], - 'yoda_style' => ['equal' => false, 'identical' => false, 'less_and_greater' => false], - - // We need this for documentation! - 'no_useless_else' => false, // We want to preserve else with comments only - ]); diff --git a/Build/.php-cs-fixer.dist.php b/Build/.php-cs-fixer.dist.php index 7bd02cda..d1441831 100644 --- a/Build/.php-cs-fixer.dist.php +++ b/Build/.php-cs-fixer.dist.php @@ -6,6 +6,8 @@ use PhpCsFixer\Finder; return (new Config()) + // Documentation code examples indent two spaces, see .editorconfig + ->setIndent(' ') ->setFinder( (new Finder()) ->in(__DIR__.'/../Documentation') diff --git a/Documentation/Installation/_ApplicationContext/_additional-2.php b/Documentation/Installation/_ApplicationContext/_additional-2.php index 5ffd3b8d..6a0a4616 100644 --- a/Documentation/Installation/_ApplicationContext/_additional-2.php +++ b/Documentation/Installation/_ApplicationContext/_additional-2.php @@ -3,22 +3,22 @@ defined('TYPO3') or die(); $customChanges = [ - 'BE' => [ - 'debug' => '0', - ], - 'FE' => [ - 'debug' => '0', - ], - 'SYS' => [ - 'trustedHostsPattern' => 'SERVER_NAME', // keep this if it is working on your server - 'devIPmask' => '127.0.0.1,::1', // localhost oly - 'displayErrors' => 0, // Turn off error reporting - ], + 'BE' => [ + 'debug' => '0', + ], + 'FE' => [ + 'debug' => '0', + ], + 'SYS' => [ + 'trustedHostsPattern' => 'SERVER_NAME', // keep this if it is working on your server + 'devIPmask' => '127.0.0.1,::1', // localhost oly + 'displayErrors' => 0, // Turn off error reporting + ], ]; $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS'], (array)$customChanges); $file = realpath(__DIR__) . '/credentials.php'; if (is_file($file)) { - include_once($file); - $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS'], (array)$customChanges); + include_once($file); + $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS'], (array)$customChanges); } diff --git a/Documentation/Installation/_ApplicationContext/_additional.php b/Documentation/Installation/_ApplicationContext/_additional.php index e1c289ec..3c28c93c 100644 --- a/Documentation/Installation/_ApplicationContext/_additional.php +++ b/Documentation/Installation/_ApplicationContext/_additional.php @@ -8,6 +8,6 @@ $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS'], (array)$customChanges); $file = realpath(__DIR__) . '/credentials.php'; if (is_file($file)) { - include_once($file); - $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS'], (array)$customChanges); + include_once($file); + $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS'], (array)$customChanges); } diff --git a/Documentation/Installation/_ApplicationContext/_credentials.php b/Documentation/Installation/_ApplicationContext/_credentials.php index 1a39688b..77a49f0c 100644 --- a/Documentation/Installation/_ApplicationContext/_credentials.php +++ b/Documentation/Installation/_ApplicationContext/_credentials.php @@ -2,20 +2,20 @@ defined('TYPO3') or die(); $customChanges = [ - 'BE' => [ - 'installToolPassword' => 'some encrypted string', - ], - 'DB' => [ - 'Connections' => [ - 'Default' => [ - 'dbname' => 'my_db', - 'host' => 'localhost', - 'password' => '', - 'user' => 'my_db_user', - ], - ], - ], - 'SYS' => [ - 'encryptionKey' => 'replace with generated encryption key', + 'BE' => [ + 'installToolPassword' => 'some encrypted string', + ], + 'DB' => [ + 'Connections' => [ + 'Default' => [ + 'dbname' => 'my_db', + 'host' => 'localhost', + 'password' => '', + 'user' => 'my_db_user', + ], ], + ], + 'SYS' => [ + 'encryptionKey' => 'replace with generated encryption key', + ], ];