What's Difference with Component, Bundle and Bridge in Symfony Framework

Component

A component is a part of a system that provides a specific functionality.

For example, the HttpFoundation component provides an object-oriented representation of an HTTP request and response, the HttpClient component provides the ability to make HTTP requests to the API, and the Routing component can find the controller by URL.

Bridge

The bridge integrates an third-party software with Symfony components by providing an add-on for both of them.

For example, the twig-bridge adds Symfony component functions to the Twig template, the monolog-bridge provides handlers for sending logs to mail, notification or Elasticsearch, and the doctrine-bridge adds an EntityValueResolver to resolve the Doctrine entity in the controller and the user provider with using the repository.

Bundle

The bundle integrates an third-party software or new functionality with the framework.

For example, DoctrineBundle provides database services, EasyAdminBundle provides an admin panel, and SensioFrameworkExtraBundle adds advanced functionality for controllers.

Summary

A component adds new functionality through classes and interfaces.
The component can be used separately from the Symfony application.

The bridge integrates the components and third-party software by providing new functionality through classes and interfaces.
The bridge can be used separately from the Symfony application.

The bundle integrates an third-party software or new functionality with the framework through services.
The bundle cannot be used separately from the Symfony application due to the strong dependence on the framework.

A framework is a set of components, bridges and bundles designed to develop web and console applications.