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

Symfony System Resources Bundle Laravel Package

dmstr/symfony-system-resources-bundle

View on GitHub
Deep Wiki
Context7

Getting Started

  1. Check PHP Version: Ensure your project meets the new minimum requirement of PHP 8.4 (previously lower). Run php -v to verify.
  2. Installation: Require the package via Composer:
    composer require vendor/package-name
    
  3. First Use Case: Register the package service provider in config/app.php under providers:
    Vendor\PackageName\PackageServiceProvider::class,
    
  4. Documentation: Review the updated CLAUDE.md (if provided) for system-level documentation. OpenAPI tags are now under 'System'—check API specs if applicable.

Implementation Patterns

Core Workflows

  • Messenger Integration: Use MessengerMessage for queue-based workflows. Example:
    use Vendor\PackageName\Messaging\MessengerMessage;
    
    $message = new MessengerMessage('event_name', ['key' => 'value']);
    app(\Illuminate\Contracts\Queue\Queue::class)->push($message);
    
  • Doctrine Migrations: Leverage DoctrineMigrationVersion for versioned database migrations (if applicable). Example:
    use Vendor\PackageName\Database\DoctrineMigrationVersion;
    
    $version = new DoctrineMigrationVersion('20240101000000');
    $version->up(); // Apply migration logic
    

Integration Tips

  • Service Binding: Bind custom interfaces to the package’s classes in register():
    $this->app->bind(
        \Vendor\PackageName\Contracts\MigrationInterface::class,
        \Vendor\PackageName\Database\DoctrineMigrationVersion::class
    );
    
  • Middleware: Extend the package’s middleware (if available) by publishing config:
    php artisan vendor:publish --provider="Vendor\PackageName\PackageServiceProvider" --tag="config"
    

Gotchas and Tips

Breaking Changes

  • PHP 8.4 Requirement: Upgrade PHP or use a version manager (e.g., phpbrew). Key changes include:
    • Named arguments in function calls.
    • Deprecated create_function() removed.
    • Verify third-party dependencies for compatibility.

Debugging

  • Unit Tests: The package now includes tests for MessengerMessage and DoctrineMigrationVersion. Use these as a reference for edge cases:
    composer test
    
  • CI Workflow: The package’s GitHub Actions workflow is now public. Check .github/workflows/ for setup inspiration.

Extension Points

  • OpenAPI Tags: Updated to 'System'. If you use Swagger/OpenAPI, update your schema:
    tags:
      - name: System
        description: Package-managed endpoints
    
  • CLAUDE.md: Likely contains system architecture details. Cross-reference with README.md for implementation notes.

Performance

  • Doctrine Migrations: If using, ensure your migrations table is optimized for version tracking. Example schema:
    Schema::create('migrations', function (Blueprint $table) {
        $table->id();
        $table->string('version')->unique();
        $table->timestamp('created_at')->useCurrent();
    });
    
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.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle