The Symfony PHP framework
This report summarizes scanner evidence for symfony/symfony, a PHP project with 31,183 GitHub stars. SynthScan examined 2,336,583 lines of code across 14308 source files, recording 22057 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 9.3 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 21112 finding(s).
Are imports declared and package/API names verified? 933 finding(s).
Are wrappers, guards, and repeated structures necessary? 21070 finding(s).
Which changes need focused human review? 22057 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 22057 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php | 86 | public function getQueryBuilderPartsForCachingHash(object $queryBuilder): ?array | CODE |
| LOW | src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php | 74 | public function getQueryBuilderPartsForCachingHash(object $queryBuilder): ?array | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 31 | public function testDispatchEventRespectOrder() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 41 | public function testUsingDoctrineSubscribersThrows() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 77 | public function testAddEventListenerAfterDispatchEvent() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 146 | public function testGetListenersWhenALazyListenerAddsListeners() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 181 | public function testRemoveLazyEventListenerByObject() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 195 | public function testRemoveLazyEventListenerByObjectKeepsListenersLazy() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 220 | public function testDispatchEventAfterRemovingLazyEventListenerByObject() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 231 | public function testRemoveLazyEventSubscriberByObject() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 241 | public function testRemoveEventListenerOnSeveralEvents() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 253 | public function testRemoveAllEventListener() | CODE |
| LOW | …idge/Doctrine/Tests/ContainerAwareEventManagerTest.php | 268 | public function testRemoveEventListenerAfterDispatchEvent() | CODE |
| LOW | …/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php | 54 | public function testResetServiceWithNativeLazyObjects(string $class) | CODE |
| LOW | …/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php | 81 | public static function provideResetServiceWithNativeLazyObjectsCases(): iterable | CODE |
| LOW | …/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php | 115 | public function testResetServiceWillNotNestFurtherLazyServicesWithinEachOther() | CODE |
| LOW | …/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php | 152 | private function dumpLazyServiceDoctrineBridgeContainerAsFiles() | CODE |
| LOW | …c/Symfony/Bridge/Doctrine/Tests/DoctrineTestHelper.php | 65 | public static function createTestConfigurationWithXmlLoader(): Configuration | CODE |
| LOW | …rine/Tests/DataCollector/DoctrineDataCollectorTest.php | 94 | public function testCollectTimeWithFloatExecutionMS() | CODE |
| LOW | …rine/Tests/DataCollector/DoctrineDataCollectorTest.php | 124 | public function testCollectQueryWithNoTypes() | CODE |
| LOW | …rine/Tests/DataCollector/DoctrineDataCollectorTest.php | 180 | public function testCollectQueryWithNoParams() | CODE |
| LOW | …trine/Tests/Middleware/IdleConnection/ListenerTest.php | 41 | public function testOnKernelRequestClosesEveryExpiredConnection() | CODE |
| LOW | …trine/Tests/Middleware/IdleConnection/ListenerTest.php | 72 | public function testOnKernelRequestShouldSkipSubrequests() | CODE |
| LOW | …dge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php | 162 | public static function provideEndTransactionMethod(): array | CODE |
| LOW | …dge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php | 204 | public static function provideExecuteAndEndTransactionMethods(): array | CODE |
| LOW | …dge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php | 223 | public function testGlobalDoctrineDuration(callable $sqlMethod, callable $endTransactionMethod) | CODE |
| LOW⚡ | …dge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 53 | public function testRequiredGuesserSimpleFieldNotNullable() | CODE |
| LOW⚡ | …dge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 62 | public function testRequiredGuesserSimpleFieldNullable() | CODE |
| LOW⚡ | …dge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 71 | public function testRequiredGuesserOneToOneNullable() | CODE |
| LOW | …dge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 82 | public function testRequiredGuesserOneToOneExplicitNullable() | CODE |
| LOW | …dge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 95 | public function testRequiredGuesserOneToOneNotNullable() | CODE |
| LOW | …dge/Doctrine/Tests/Form/DoctrineOrmTypeGuesserTest.php | 108 | public function testRequiredGuesserOneToMany() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 91 | public function testLoadChoiceListUsesObjectLoaderIfAvailable() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 138 | public function testLoadValuesForChoicesDoesNotLoadIfEmptyChoices() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 152 | public function testLoadValuesForChoicesDoesNotLoadIfSingleIntId() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 175 | public function testLoadValuesForChoicesDoesNotLoadIfSingleIntIdAndValueGiven() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 196 | public function testLoadValuesForChoicesDoesNotLoadIfValueIsIdReader() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 243 | public function testLoadChoicesForValuesDoesNotLoadIfEmptyValues() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 257 | public function testLegacyLoadChoicesForValuesLoadsOnlyChoicesIfValueUseIdReader() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 283 | public function testLoadChoicesForValuesLoadsOnlyChoicesIfValueUseIdReader() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 320 | public function testLoadChoicesForValuesLoadsAllIfSingleIntIdAndValueGiven() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 341 | public function testLoadChoicesForValuesLoadsOnlyChoicesIfValueIsIdReader() | CODE |
| LOW | …ine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php | 376 | public function testPassingIdReaderWithoutSingleIdEntity() | CODE |
| LOW | …ne/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php | 42 | public function testIdentifierTypeIsStringArray() | CODE |
| LOW | …ne/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php | 47 | public function testIdentifierTypeIsIntegerArray() | CODE |
| LOW | …ne/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php | 83 | public function testFilterNonIntegerValues() | CODE |
| LOW | …ne/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php | 186 | public function testUidThrowProperException(string $entityClass) | CODE |
| LOW | …ne/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php | 216 | public function testEmbeddedIdentifierName() | CODE |
| LOW | …m/DataTransformer/CollectionToArrayTransformerTest.php | 64 | public function testTransformExpectsArrayOrCollection() | CODE |
| LOW | …m/DataTransformer/CollectionToArrayTransformerTest.php | 70 | public function testTransformReadableCollection() | CODE |
| LOW | …m/DataTransformer/CollectionToArrayTransformerTest.php | 191 | public function testReverseTransformEmpty() | CODE |
| LOW | …Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php | 105 | public function testCollapsedEntityFieldWithChoices() | CODE |
| LOW | …Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php | 122 | public function testCollapsedEntityFieldWithPreferredChoices() | CODE |
| LOW⚡ | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 225 | public function testConfigureQueryBuilderWithNonQueryBuilderAndNonClosure() | CODE |
| LOW⚡ | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 235 | public function testConfigureQueryBuilderWithClosureReturningNonQueryBuilder() | CODE |
| LOW⚡ | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 245 | public function testConfigureQueryBuilderWithClosureReturningNullUseDefault() | CODE |
| LOW | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 126 | public function testClassOptionIsRequired() | CODE |
| LOW | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 141 | public function testChoiceTranslationDomainIsDisabledByDefault($expanded) | CODE |
| LOW | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 163 | public static function choiceTranslationDomainProvider(): array | CODE |
| LOW | …ony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php | 171 | public function testSetDataToUninitializedEntityWithNonRequired() | CODE |
| 20998 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …y/Bridge/Monolog/Tests/Handler/NotifierHandlerTest.php | 88 | $recipient = new Recipient('admin@example.com'); | CODE |
| LOW | …y/Bridge/Monolog/Tests/Handler/NotifierHandlerTest.php | 114 | $recipient = new Recipient('admin@example.com'); | CODE |
| LOW | …tension/AbstractBootstrap5HorizontalLayoutTestCase.php | 321 | 'placeholder' => 'name', | CODE |
| LOW | …ig/Tests/Extension/FormExtensionDaisyUi5LayoutTest.php | 155 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …ig/Tests/Extension/FormExtensionDaisyUi5LayoutTest.php | 207 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …ig/Tests/Extension/FormExtensionDaisyUi5LayoutTest.php | 239 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 931 | // The hidden attribute is only defaulted for the "placeholder" option: | COMMENT |
| LOW⚡ | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 2760 | ->add('lastName', 'Symfony\Component\Form\Extension\Core\Type\TextType', ['attr' => ['placeholder' => 'Bar'] | CODE |
| LOW⚡ | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 2776 | ->add('lastName', 'Symfony\Component\Form\Extension\Core\Type\TextType', ['attr' => ['placeholder' => 'Bar'] | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 78 | 'placeholder' => 'placeholder', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 648 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 874 | 'placeholder' => 'Select&Anything&Not&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 898 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 933 | $this->assertWidgetMatchesXpath($form->createView(), ['placeholder' => ''], | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1058 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1125 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1171 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1199 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1333 | 'placeholder' => 'Select&Country', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1391 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1587 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1615 | 'placeholder' => ['year' => 'Change&Me'], | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 1721 | 'placeholder' => '', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 2253 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 2280 | 'placeholder' => ['hour' => 'Change&Me'], | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 2330 | 'placeholder' => 'Select&Timezone', | CODE |
| LOW | …Bridge/Twig/Tests/Extension/AbstractLayoutTestCase.php | 2906 | 'placeholder' => 'Enter a message to %company%', | CODE |
| LOW⚡ | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 803 | // The hidden attribute is only defaulted for the "placeholder" option: | COMMENT |
| LOW⚡ | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 805 | $this->assertWidgetMatchesXpath($form->createView(), ['placeholder' => '', 'attr' => ['class' => 'my&class']], | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 513 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 750 | 'placeholder' => 'Select&Anything&Not&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 775 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 906 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1177 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1225 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1571 | 'placeholder' => 'Select&Country', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1627 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1831 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1863 | 'placeholder' => ['year' => 'Change&Me'], | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 1970 | 'placeholder' => '', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 2615 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 2644 | 'placeholder' => ['hour' => 'Change&Me'], | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap3LayoutTestCase.php | 2685 | 'placeholder' => 'Select&Timezone', | CODE |
| LOW⚡ | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 812 | // The hidden attribute is only defaulted for the "placeholder" option: | COMMENT |
| LOW⚡ | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 814 | $this->assertWidgetMatchesXpath($form->createView(), ['placeholder' => '', 'attr' => ['class' => 'my&class']], | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 452 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 522 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 759 | 'placeholder' => 'Select&Anything&Not&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 784 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1018 | 'placeholder' => 'Select&Country', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1090 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1318 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1354 | 'placeholder' => ['year' => 'Change&Me'], | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1456 | 'placeholder' => '', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1752 | 'placeholder' => 'Change&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1787 | 'placeholder' => ['hour' => 'Change&Me'], | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1834 | 'placeholder' => 'Select&Timezone', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap5LayoutTestCase.php | 1877 | 'placeholder' => 'name', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap4LayoutTestCase.php | 680 | 'placeholder' => 'Test&Me', | CODE |
| LOW | …g/Tests/Extension/AbstractBootstrap4LayoutTestCase.php | 722 | 'placeholder' => 'Placeholder&Not&Translated', | CODE |
| 871 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 735 | // ┌──────┐ ┌──────────────────────┐ ┌───┐ ┌─────────────┐ ┌───┐ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 737 | // └──────┘ └──────────────────────┘ └───┘ └─────────────┘ └───┘ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 741 | // ┌───────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 743 | // └───────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 913 | // ┌───────────────────┐ ┌─────────────┐ ┌─────────────┐ 4 | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 914 | // │ prepare_leg │ ──▶ │ build_leg │ ──▶ │ leg_created │ ───────────────────────────┐ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 915 | // └───────────────────┘ └─────────────┘ └─────────────┘ │ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 919 | // ┌──────┐ ┌───────────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────┐ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 921 | // └──────┘ └───────────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └──────┘ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 925 | // ┌───────────────────┐ │ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 926 | // │ stopwatch_running │ ───────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 927 | // └───────────────────┘ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/sync-maintained-versions.php | 1 | <?php | COMMENT |
| LOW | .github/workflows/scorecards.yml | 41 | # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentic | COMMENT |
| LOW | …c/Symfony/Contracts/HttpClient/HttpClientInterface.php | 41 | // mixed - if set, implementations MUST set the "body" option to the JSON-encoded | COMMENT |
| LOW | …c/Symfony/Contracts/HttpClient/HttpClientInterface.php | 61 | // callable(int $dlNow, int $dlSize, array $info) - throwing any exceptions MUST abort the | COMMENT |
| LOW | src/Symfony/Component/Form/FormRenderer.php | 121 | COMMENT | |
| LOW | src/Symfony/Component/Form/FormRenderer.php | 141 | // functions to fall back from the custom to the parent implementation. | COMMENT |
| LOW | src/Symfony/Component/Form/FormRenderer.php | 221 | COMMENT | |
| LOW | …DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php | 81 | public function finishView(FormView $view, FormInterface $form, array $options): void | COMMENT |
| LOW | …xtension/Validator/ViolationMapper/ViolationMapper.php | 61 | COMMENT | |
| LOW | src/Symfony/Component/Form/Tests/FormConfigTest.php | 41 | ['a:'], | COMMENT |
| LOW | …ures/Attributes/SerializedPerGroupWithContextDummy.php | 21 | #[Groups(['a', 'b'])] | COMMENT |
| LOW | …fony/Component/Validator/Constraints/LuhnValidator.php | 61 | $length = \strlen($value); | COMMENT |
| LOW | …/Validator/Tests/Constraints/FileValidatorTestCase.php | 101 | // 1001 bytes | "Size of 1001 bytes exceeded limit of 1000 bytes" | COMMENT |
| LOW | src/Symfony/Component/Intl/Util/IntlTestHelper.php | 41 | // * the intl extension is not loaded | COMMENT |
| LOW | …nt/Translation/Tests/Extractor/PhpAstExtractorTest.php | 301 | // 'loop-next-iteration-value' => 'loop-next-iteration-value', | COMMENT |
| LOW | …y/Component/Config/Tests/Definition/StringNodeTest.php | 21 | #[TestWith([''])] | COMMENT |
| LOW | src/Symfony/Component/ExpressionLanguage/Parser.php | 401 | $node = new Node\GetAttrNode($node, $arg, new Node\ArgumentsNode(), Node\GetAttrNode::ARRAY_CALL, tr | COMMENT |
| LOW | …opertyInfo/Tests/Extractor/ReflectionExtractorTest.php | 281 | #[TestWith([Dummy::class, 'setSelf', 'self'])] | COMMENT |
| LOW | …opertyInfo/Tests/Extractor/ReflectionExtractorTest.php | 301 | #[TestWith([FalseAccessorDummy::class, 'settings', null])] | COMMENT |
| LOW | …fony/Component/Workflow/Tests/WorkflowBuilderTrait.php | 181 | COMMENT | |
| LOW | …fony/Component/Workflow/Tests/WorkflowBuilderTrait.php | 221 | // | | c | <-----+ | b | | COMMENT |
| LOW | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 921 | // └──────┘ └───────────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └──────┘ | COMMENT |
| LOW | src/Symfony/Component/Workflow/Tests/WorkflowTest.php | 941 | // from: prepare_leg | COMMENT |
| LOW | …Workflow/Tests/Validator/StateMachineValidatorTest.php | 101 | COMMENT | |
| LOW | …omponent/Routing/Tests/Requirement/RequirementTest.php | 21 | { | COMMENT |
| LOW | …omponent/Routing/Tests/Requirement/RequirementTest.php | 301 | #[TestWith(['61c86569-e477-3ed9-9e3b-1562edb03277'])] | COMMENT |
| LOW | …/Symfony/Component/Routing/Loader/DelegatingLoader.php | 41 | // This can happen if a fatal error occurs in parent::load(). | COMMENT |
| LOW | …nent/DependencyInjection/Tests/EnvVarProcessorTest.php | 961 | #[TestWith(["a\rb"])] | COMMENT |
| LOW | src/Symfony/Component/Console/Resources/completion.zsh | 1 | #compdef {{ COMMAND_NAME }} | COMMENT |
| LOW | …ymfony/Component/Console/Tests/Input/ArgvInputTest.php | 461 | } | COMMENT |
| LOW | …ymfony/Component/Console/Tests/shell-completion/try.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ony/Component/Console/Tests/shell-completion/cases.txt | 1 | # Test cases for the shell completion scripts. | COMMENT |
| LOW | …ony/Component/Console/Tests/shell-completion/docker.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …mponent/Console/Tests/shell-completion/drivers/zsh.zsh | 1 | #!/usr/bin/env zsh | COMMENT |
| LOW | …mponent/Console/Tests/shell-completion/drivers/bash.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt | 1 | COMMENT | |
| LOW | …mponent/Console/Tests/Command/InvokableCommandTest.php | 581 | COMMENT | |
| LOW | src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php | 121 | #[RequiredBundle(SerializerBundle::class, ignoreOnInvalid: true)] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/Symfony/Component/OptionsResolver/OptionsResolver.php | 1192 | # Define a recursive subroutine for matching balanced parentheses | COMMENT |
| MEDIUM | …y/Component/DependencyInjection/Kernel/KernelTrait.php | 309 | @file_put_contents($tag, "Signature: 8a477f597d28d172789f06886806bc55\n# This file is a cache directory | CODE |
| MEDIUM | src/Symfony/Component/Console/Resources/completion.bash | 1 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | src/Symfony/Component/Console/Resources/completion.zsh | 3 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | …ymfony/Component/Console/Tests/shell-completion/run.sh | 3 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | …ymfony/Component/Console/Tests/shell-completion/try.sh | 3 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | …ony/Component/Console/Tests/shell-completion/docker.sh | 3 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | …sole/Tests/shell-completion/drivers/bash-completion.sh | 1 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | …mponent/Console/Tests/shell-completion/drivers/zsh.zsh | 3 | # This file is part of the Symfony package. | COMMENT |
| MEDIUM | …mponent/Console/Tests/shell-completion/drivers/bash.sh | 3 | # This file is part of the Symfony package. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …urces/views/Script/Mermaid/mermaid-flowchart-v2.min.js | 155 | `+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):r.push(o);continue}if(e){let a="Infinite loop on byt | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/sync-maintained-versions.php | 40 | // Identify the checked-out branch from the source tree itself (robust to detached | COMMENT |
| MEDIUM | …onent/Messenger/Command/FailedMessagesRetryCommand.php | 229 | // this avoids using get(), which for some less-robust | COMMENT |
| MEDIUM | …mponent/PasswordHasher/Hasher/SodiumPasswordHasher.php | 87 | // Accept validating non-argon passwords for seamless migrations | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/Symfony/Component/Notifier/Bridge/Prelude/README.md | 19 | PRELUDE_DSN=prelude://YOUR_API_KEY@default?sender=YOUR_SENDER_ID | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …Symfony/Component/Console/Tester/ApplicationTester.php | 20 | * When testing an application, don't forget to disable the auto exit flag: | COMMENT |
| MEDIUM | …dle/FrameworkBundle/Command/DebugAutowiringCommand.php | 33 | #[AsCommand(name: 'debug:autowiring', description: 'List classes/interfaces you can use for autowiring')] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ony/Component/Console/Tests/shell-completion/docker.sh | 12 | # Usage: | COMMENT |