Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Doctrine Bundle Laravel Package

adcog-cpi/doctrine-bundle

Doctrine bundle providing reusable entity tools: automatic created/updated timestamps, slug and salt generation, filesystem storage paths, loggable messages, and paginator defaults. Includes a command to fix/rebuild slugs across the database.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • File Storage & Security: Enables structured, environment-aware file storage (e.g., user uploads, media assets) with configurable paths for web/public and secured/private storage. Supports use cases like:
    • Media galleries (e.g., e-commerce product images, CMS content).
    • Document management (e.g., contracts, PDFs) with tiered access.
    • Roadmap: Replace custom file-handling logic or third-party services (e.g., AWS S3) for self-hosted solutions.
  • CRUD Logging: Standardizes success/error messages for entity operations (create/update/delete) via Doctrine events, reducing boilerplate in controllers/services. Aligns with:
    • Audit trails (e.g., "Who modified this record?").
    • User feedback (e.g., toast notifications post-save).
    • Build vs. Buy: Avoids reinventing logging middleware or relying on external tools like Laravel Notifications.
  • Pagination: Centralizes paginator defaults (e.g., default_limit, max_limit) to enforce consistency across APIs/admin panels. Useful for:
    • Admin dashboards (e.g., "Show 20 records per page by default").
    • Public APIs (e.g., rate-limiting pagination to prevent abuse).
    • Roadmap: Extend to support infinite scroll or cursor-based pagination.

When to Consider This Package

  • Look Elsewhere If:

    • Complex File Storage Needs: Require advanced features like CDN integration, signed URLs, or multi-cloud storage (e.g., S3 + Azure). Alternatives: VichUploaderBundle or League Flysystem.
    • Non-Doctrine ORM: Using Eloquent (Laravel) or another ORM. This bundle is Doctrine-specific.
    • Enterprise-Grade Logging: Need structured logging (e.g., ELK stack) or compliance (e.g., GDPR data retention). Alternatives: Monolog or Symfony MonologBundle.
    • High-Traffic APIs: Pagination limits may not suffice for scalability. Consider API Platform or custom pagination layers.
    • Low Maturity Risk: Bundle has 0 stars, no clear maintenance, or outdated Doctrine compatibility. Validate with the maintainer (adcog-cpi) before adoption.
  • Adopt If:

    • Using Symfony + Doctrine and need lightweight, configurable file/pagination/logging utilities.
    • Prioritizing developer velocity over cutting-edge features (e.g., quick CRUD logging without writing events).
    • Self-hosting and want to avoid vendor lock-in (MIT license, no SaaS dependencies).

How to Pitch It (Stakeholders)

For Executives:

"This bundle lets us standardize how we handle file storage, user feedback, and data pagination across our Symfony apps—reducing dev time and tech debt. For example:

  • Replace custom upload scripts with a secure, environment-aware file system (e.g., /files for public assets, /cache/files for private data).
  • Automate success messages for CRUD operations (e.g., ‘Your profile was updated!’) without manual controller code.
  • Enforce consistent pagination (e.g., ‘Show 20 items/page by default’) to improve API performance and UX. It’s a low-risk way to modernize our backend without switching to a full-stack framework like Laravel. The MIT license and Doctrine integration align with our existing stack."

For Engineering:

"This is a Symfony Doctrine utility bundle that solves three pain points:

  1. File Storage: Configurable web/secured paths with environment/class discrimination (e.g., use_env_discriminator: true). Example use: Storing user uploads in /files/{user_id}/ while keeping backups in /cache/files/.
  2. CRUD Logging: Plug into Doctrine lifecycle events to auto-generate success messages (e.g., L'élément %%entity%% a été créé). Saves ~30 mins per entity in controllers/services.
  3. Pagination: Centralize defaults (e.g., default_limit: 10) to avoid magic numbers in repositories.

Pros:

  • Lightweight: No heavy dependencies; MIT licensed.
  • Flexible: Override configs per environment/entity.
  • Doctrine-native: Works with existing entities/events.

Cons:

  • Unproven: 0 stars, but the logic is simple enough to audit.
  • Limited Features: No CDN/signed URLs; pagination is basic.

Recommendation: Pilot for one feature (e.g., file storage) in a non-critical module. If it works, roll out logging/pagination next."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui