From 4766819acabc15f2543eeab2877d36658e7f68f0 Mon Sep 17 00:00:00 2001 From: Olivier Bellone Date: Wed, 12 Feb 2020 10:41:00 -0800 Subject: [PATCH] More PHP-CS-Fixer tweaks (#870) * Update .php_cs.dist * Enable combine_consecutive_issets rule * Enable explicit_indirect_variable rule * Enable no_unset_on_property rule * Enable function_to_constant rule * Enable no_superfluous_phpdoc_tags rule * Enable ordered_imports rule --- .php_cs.dist | 156 ++++++------------------------ lib/ApiRequestor.php | 2 +- lib/ApiResource.php | 4 +- lib/HttpClient/CurlClient.php | 2 +- lib/StripeObject.php | 6 +- lib/Util/LoggerInterface.php | 1 - lib/Util/Set.php | 2 +- tests/Stripe/StripeObjectTest.php | 2 +- 8 files changed, 39 insertions(+), 136 deletions(-) diff --git a/.php_cs.dist b/.php_cs.dist index fce965539..5b0e16161 100644 --- a/.php_cs.dist +++ b/.php_cs.dist @@ -3,138 +3,42 @@ return PhpCsFixer\Config::create() ->setRiskyAllowed(true) ->setRules([ + // Rulesets + '@PSR2' => true, + '@PhpCsFixer' => true, + '@PhpCsFixer:risky' => true, '@PHP56Migration:risky' => true, '@PHPUnit57Migration:risky' => true, - '@PSR2' => true, - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'blank_line_after_opening_tag' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => [ - 'elements' => ['method'], - ], - 'class_definition' => true, - 'combine_consecutive_unsets' => true, - 'comment_to_phpdoc' => true, - 'compact_nullable_typehint' => true, + + // Diffs from @PhpCsFixer / @PhpCsFixer:risky + 'binary_operator_spaces' => false, + 'blank_line_before_statement' => false, 'concat_space' => [ 'spacing' => 'one', ], - 'declare_equal_normalize' => true, - 'ereg_to_preg' => true, - 'error_suppression' => true, - 'escape_implicit_backslashes' => true, - 'explicit_string_variable' => true, - 'final_internal_class' => true, - 'fopen_flag_order' => true, - 'fopen_flags' => true, - 'fully_qualified_strict_types' => true, - 'function_to_constant' => true, - 'function_typehint_space' => true, - 'heredoc_to_nowdoc' => true, - 'implode_call' => true, - 'increment_style' => true, - 'is_null' => true, - 'linebreak_after_opening_tag' => true, - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'magic_method_casing' => true, - 'method_chaining_indentation' => true, - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'native_function_type_declaration_casing' => true, - 'new_with_braces' => true, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_binary_string' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => true, - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_around_offset' => true, - 'no_superfluous_elseif' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_cast' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_indent' => true, - 'phpdoc_inline_tag' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_alias_tag' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_useless_inheritdoc' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, + 'dir_constant' => false, + 'include' => false, + 'ordered_class_elements' => false, + 'php_unit_internal_class' => false, + 'php_unit_strict' => false, + 'php_unit_test_class_requires_covers' => false, + 'phpdoc_align' => false, + 'phpdoc_annotation_without_dot' => false, + 'phpdoc_no_package' => false, + 'phpdoc_summary' => false, 'phpdoc_types_order' => [ 'null_adjustment' => 'always_last', ], - 'phpdoc_var_annotation_correct_order' => true, - 'phpdoc_var_without_name' => true, - 'php_unit_construct' => true, - 'php_unit_fqcn_annotation' => true, - 'php_unit_method_casing' => true, - 'php_unit_mock_short_will_return' => true, - 'php_unit_ordered_covers' => true, - 'php_unit_set_up_tear_down_visibility' => true, - 'php_unit_test_annotation' => true, - 'php_unit_test_case_static_method_calls' => true, - 'psr4' => true, - 'return_assignment' => true, - 'return_type_declaration' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simple_to_complex_string_variable' => true, - 'single_blank_line_before_namespace' => true, - 'single_line_comment_style' => true, - 'single_trait_insert_per_statement' => true, - 'space_after_semicolon' => true, - 'standardize_increment' => true, - 'standardize_not_equals' => true, - 'strict_comparison' => true, - 'strict_param' => true, - 'string_line_ending' => true, - 'ternary_operator_spaces' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'whitespace_after_comma_in_array' => true, - 'yoda_style' => true, + 'protected_to_private' => false, + 'self_accessor' => false, + 'single_quote' => false, + + // Should be included in @PhpCsFixer / @PhpCsFixer:risky according to doc, but need to be + // enabled manually for some reason. + 'fopen_flags' => true, + 'multiline_whitespace_before_semicolons' => true, + 'native_function_invocation' => true, + + // Additional rules + 'linebreak_after_opening_tag' => true, ]); diff --git a/lib/ApiRequestor.php b/lib/ApiRequestor.php index 89dadc819..3e2df1bd2 100644 --- a/lib/ApiRequestor.php +++ b/lib/ApiRequestor.php @@ -371,7 +371,7 @@ private function _requestRaw($method, $url, $params, $headers) $hasFile ); - if (isset($rheaders['request-id']) && isset($rheaders['request-id'][0])) { + if (isset($rheaders['request-id'], $rheaders['request-id'][0])) { self::$requestTelemetry = new RequestTelemetry( $rheaders['request-id'][0], Util\Util::currentTimeMillis() - $requestStartMs diff --git a/lib/ApiResource.php b/lib/ApiResource.php index 555b190be..7e4f564a9 100644 --- a/lib/ApiResource.php +++ b/lib/ApiResource.php @@ -39,7 +39,7 @@ public static function getSavedNestedResources() public function __set($k, $v) { parent::__set($k, $v); - $v = $this->$k; + $v = $this->{$k}; if ((static::getSavedNestedResources()->includes($k)) && ($v instanceof ApiResource)) { $v->saveWithParent = true; @@ -97,7 +97,7 @@ public static function classUrl() public static function resourceUrl($id) { if (null === $id) { - $class = \get_called_class(); + $class = static::class; $message = "Could not determine which URL to request: " . "{$class} instance has invalid ID: {$id}"; throw new Exception\UnexpectedValueException($message); diff --git a/lib/HttpClient/CurlClient.php b/lib/HttpClient/CurlClient.php index 11b1b7e17..8e5d2a6e0 100644 --- a/lib/HttpClient/CurlClient.php +++ b/lib/HttpClient/CurlClient.php @@ -2,8 +2,8 @@ namespace Stripe\HttpClient; -use Stripe\Stripe; use Stripe\Exception; +use Stripe\Stripe; use Stripe\Util; // @codingStandardsIgnoreStart diff --git a/lib/StripeObject.php b/lib/StripeObject.php index 6f73f5ed2..434eab472 100644 --- a/lib/StripeObject.php +++ b/lib/StripeObject.php @@ -180,7 +180,7 @@ public function __debugInfo() // ArrayAccess methods public function offsetSet($k, $v) { - $this->$k = $v; + $this->{$k} = $v; } public function offsetExists($k) @@ -190,7 +190,7 @@ public function offsetExists($k) public function offsetUnset($k) { - unset($this->$k); + unset($this->{$k}); } public function offsetGet($k) @@ -256,7 +256,7 @@ public function refreshFrom($values, $opts, $partial = false) } foreach ($removed->toArray() as $k) { - unset($this->$k); + unset($this->{$k}); } $this->updateAttributes($values, $opts, false); diff --git a/lib/Util/LoggerInterface.php b/lib/Util/LoggerInterface.php index f61629dc9..5603c81b8 100644 --- a/lib/Util/LoggerInterface.php +++ b/lib/Util/LoggerInterface.php @@ -29,7 +29,6 @@ interface LoggerInterface * be logged and monitored. * * @param string $message - * @param array $context */ public function error($message, array $context = []); } diff --git a/lib/Util/Set.php b/lib/Util/Set.php index 5c49d28c5..017f92978 100644 --- a/lib/Util/Set.php +++ b/lib/Util/Set.php @@ -2,8 +2,8 @@ namespace Stripe\Util; -use IteratorAggregate; use ArrayIterator; +use IteratorAggregate; class Set implements IteratorAggregate { diff --git a/tests/Stripe/StripeObjectTest.php b/tests/Stripe/StripeObjectTest.php index a2cf8bc2a..2a732904c 100644 --- a/tests/Stripe/StripeObjectTest.php +++ b/tests/Stripe/StripeObjectTest.php @@ -43,7 +43,7 @@ public function testNormalAccessorsSemantics() $s->foo = 'a'; static::assertSame($s->foo, 'a'); static::assertTrue(isset($s->foo)); - unset($s->foo); + $s->foo = null; static::assertFalse(isset($s->foo)); }