Your project should not use function in loops conditions

More information: https://insight.symfony.com/what-we-analyse/php.for_loop_uses_test_function

  1. // Évaluer la première clause
  2. $result = $this->evaluateClause($tokens[0], $variables);
  3. // Traiter les opérateurs et clauses suivants
  4. for ($i = 1; $i < count($tokens); $i += 2) {
    This loop uses a function. To avoid the overhead of executing the function n times, you should precalculate it before the loop.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  5. if ($i + 1 >= count($tokens)) {
  6. throw new InvalidArgumentException('Invalid condition structure');
  7. }
  8. $operator = strtoupper(trim($tokens[$i]));
  • gyakutsuki

    Ignored on Thu, 18 Sep 2025 15:33:40 GMT
  • gyakutsuki

    not interesting

Your project should not contain PHP files defining multiple classes 2

More information: https://insight.symfony.com/what-we-analyse/php.file_contains_more_than_one_class

This file contains 4 classes. Keeping only one class per file is a standard in the PHP community, since it promotes interoperability and maintainability.
Last edited by ClicShopping
  • McpException (defined at line 19)
  • McpConnectionException (defined at line 28)
  • McpProtocolException (defined at line 37)
  • McpConfigurationException (defined at line 46)
  • gyakutsuki

    Ignored on Mon, 29 Sep 2025 19:19:44 GMT
This file contains 2 classes. Keeping only one class per file is a standard in the PHP community, since it promotes interoperability and maintainability.
Time to fix: about 4 hours
Read doc Open Issue Permalink Copy Prompt
Last edited by ClicShopping
  • he_header_multi_template (defined at line 16)
  • explodeCategoryTree (defined at line 238)
  • gyakutsuki

    Ignored on Thu, 18 Sep 2025 15:32:21 GMT

Interfaces names should end with "Interface" 2

More information: https://insight.symfony.com/what-we-analyse/php.interface_has_no_interface_suffix

  1. * ```php
  2. * $component->setParameter('classification_threshold', 5);
  3. * $threshold = $component->getParameter('classification_threshold');
  4. * ```
  5. */
  6. interface ConfigurableComponent
    Interface {{ name }} should be named {{ name }}Interface for better clarity.
    Last edited by clicshopping
  7. {
  8. /**
  9. * Returns the list of configurable parameters for this component
  10. *
  11. * @return array Array of parameter definitions, each containing:
  • gyakutsuki

    not interesting
  • gyakutsuki

    not interesting
  1. * DiagnosticProvider Interface
  2. *
  3. * Interface for components that provide diagnostic and health monitoring capabilities.
  4. * Allows components to report their health status, explain errors, and suggest improvements.
  5. */
  6. interface DiagnosticProvider
    Interface {{ name }} should be named {{ name }}Interface for better clarity.
    Last edited by clicshopping
  7. {
  8. /**
  9. * Get a comprehensive health report for the component
  10. *
  11. * Returns metrics like:
  • gyakutsuki

    not interesting
  • gyakutsuki

    not interesting