thehardwarestore.ai

where AI agents shop for the right tools

── 99161 repos indexed ── | filtered by tag: #doctrine
symfony/symfony ★ 31182 9901 APPLICATION

This is the Symfony PHP framework, a full-stack, modular framework for building web applications, APIs, microservices, and CLI tools. It provides a comprehensive set of decoupled, reusable components covering dependency injection, HTTP kernel, routing, security, serialization, validation, messaging, caching, mailer, notifier, forms, templates (Twig), internationalization, and more. The architecture follows modern PHP practices: heavy use of interfaces, traits, attributes, dependency injection, event-driven design, and middleware stacks. The framework is designed around bundles and bridges for integration with external libraries (Doctrine ORM, Twig, Monolog, PSR-7, etc.). It is not an end-user application but a library/framework that powers thousands of production systems. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage, and clear separation of concerns across 50+ components.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
doctrine/DoctrineBundle ★ 4831 483 APPLICATION

DoctrineBundle is a Symfony framework bundle that integrates Doctrine DBAL and ORM libraries. It provides dependency injection configuration for Doctrine connections, entity managers, and related services, enabling seamless use of Doctrine within Symfony applications. The bundle includes console commands for database schema management, data collection for the Symfony profiler, and Twig extensions for debugging SQL queries. The architecture follows Symfony's bundle structure, with a main bundle class, a dependency injection extension that loads services via compiler passes, and various service definitions for core functionality. Key features include attribute-based configuration (using PHP 8 attributes) for custom DBAL types, entity listeners, and middleware, which are processed by dedicated compiler passes to register services dynamically. The bundle emphasizes loose coupling through patterns like the ServiceEntityRepository, which lazily resolves repositories from the ManagerRegistry, and middleware-based connection handling for debugging and idle connection management. It integrates with Symfony's Messenger, caching, and validation components, adhering to Symfony's best practices for extensibility and performance. Maintenance is active, with regular updates to support new Symfony and Doctrine versions, as evidenced by recent commits and upgrade documentation. The codebase demonstrates strong engineering practices, balancing framework integration with reusable patterns that can be adapted beyond the Symfony ecosystem.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
dustin10/VichUploaderBundle ★ 1902 522 APPLICATION

VichUploaderBundle is a mature Symfony bundle that automates file upload management for Doctrine entities. It listens to Doctrine lifecycle events to inject uploaded files into entities on load, upload them on persist, clean up replaced files on update, and remove files when entities are deleted. The bundle supports ORM, MongoDB ODM, and PHPCR ODM through adapter classes, and provides pluggable storage backends for local filesystem, Flysystem, and Gaufrette (legacy). Configured via attributes, YAML, XML, or a shared PHP mapping configuration, it exposes services for naming, directory organization, metadata reading, and property mapping resolution, plus console commands for debugging mappings and cleaning orphaned files. The architecture is a classic extensible library: a bundle facade registers compiler passes, a dependency injection extension wires services from configuration, and interfaces such as StorageInterface, NamerInterface, DirectoryNamerInterface, and MetadataReaderInterface define seams for customization. Core orchestration lives in UploadHandler and DownloadHandler, while PropertyMappingFactory resolves entity fields to storage and naming strategies. The bundle also ships Twig helpers for rendering asset URLs and form types (VichFileType, VichImageType) with delete/download options, a profiler data collector, a FileRequired validator, and translations in 20+ locales. The codebase is well-tested with unit, integration, and functional tests, and shows deliberate design in areas like immutable namer configuration, a chain directory namer, event cancellation, and clever file-extension guessing. It is actively maintained, follows modern PHP (^8.3) and Symfony (^6.4/^7.4/^8.0), and has clear deprecation paths for legacy features. A few areas such as Gaufrette storage and the older ConfigurableInterface are in maintenance mode, but the core remains current and trustworthy.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
kimai/kimai ★ 4955 839 APPLICATION

Kimai is a self-hosted, open-source time-tracking application built with PHP 8.3+ and Symfony 6/7. It provides a full-featured web interface and REST API for recording timesheets, managing projects/customers/activities, generating invoices, exporting data (PDF, XLSX, CSV, HTML), and producing reports. The architecture follows a classic Symfony monolith with Doctrine ORM, Twig templating, and Webpack Encore for frontend assets. It supports multi-user, multi-timezone, multi-language, LDAP/SAML authentication, two-factor authentication, and a plugin system via tagged services and compiler passes. The codebase is heavily event-driven, with over 70 domain events and subscribers, and includes a rich set of dashboard widgets, custom form types, and validation constraints. The repository is actively maintained with frequent commits, extensive test coverage (PHPUnit), and continuous integration pipelines.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
stof/StofDoctrineExtensionsBundle ★ 1927 382 APPLICATION

StofDoctrineExtensionsBundle is a Symfony bundle that integrates DoctrineExtensions (gedmo/doctrine-extensions) with Symfony applications. It provides dependency injection configuration, event listeners, and tools for using Doctrine behavioral extensions like Tree, Translatable, Sluggable, Timestampable, Blameable, Loggable, Sortable, Softdeleteable, Uploadable, and Reference Integrity. The bundle follows Symfony best practices with proper dependency injection, compiler passes for service configuration, and adapters for Symfony-specific components like security token storage and request stack. It handles the complex integration between Symfony's service container and Doctrine's event system, allowing developers to easily configure and use Doctrine extensions in their Symfony projects.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
tuupola/server-timing-middleware ★ 200 10 APPLICATION

This repository implements a PSR-7 and PSR-15 compliant middleware that adds Server-Timing HTTP headers to responses for performance monitoring. The library tracks bootstrap, process, and total request times, plus allows custom timings via a Stopwatch wrapper. It includes a Doctrine DBAL QueryTimer for automatic SQL query timing. The architecture separates concerns cleanly: the middleware handles HTTP integration, the Stopwatch (wrapping Symfony's component) manages timing operations, and the QueryTimer adapts to Doctrine's logging interface. The code demonstrates strong engineering practices with clear interfaces, proper dependency management, and thoughtful enhancements like closure-based timing.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
pgvector/pgvector-php ★ 197 14 APPLICATION

This repository provides a PHP library for integrating with the pgvector extension in PostgreSQL, offering support for vector, halfvec, bit, and sparsevec data types. It includes core vector classes (Vector, HalfVector, SparseVector) and integrations for Laravel (Eloquent models, migrations, and a service provider) and Doctrine (DBAL types and DQL functions). The library enables developers to store and query vector embeddings using various distance metrics (L2, inner product, cosine, etc.) in their PHP applications. The architecture is modular, with separate namespaces for core functionality, Laravel, and Doctrine integrations, allowing users to adopt only the parts they need.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
contributte/datagrid ★ 296 215 APPLICATION

Contributte Datagrid is a mature, full-featured datagrid component for the Nette PHP framework. It provides a rich set of features including filtering, sorting, pagination, inline editing, tree view, CSV export, column hiding, group actions, and aggregation functions. The component is split into a PHP backend (Nette control) and a TypeScript frontend with a plugin-based architecture (Naja AJAX, Bootstrap 5, TomSelect, SortableJS). It abstracts data sources via the IDataSource interface, with implementations for arrays, Dibi, Nette Database, Doctrine ORM/Collections, Nextras ORM, Elasticsearch, and custom API endpoints. State persistence is pluggable through IStateStorage. The library is production-ready, actively maintained with a clear changelog and upgrade guides, but shows some technical debt with long methods, static properties, and deprecated methods. It is not a data research or analytics project; it is a reusable UI component for web applications.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: