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

User Bundle Laravel Package

bigfoot/user-bundle

View on GitHub
Deep Wiki
Context7

Getting Started

Minimal Setup

  1. Installation Add the bundle to your composer.json:

    composer require c2is/bigfoot-user-bundle
    

    Register the bundle in config/bundles.php (Symfony 4+):

    return [
        // ...
        C2is\BigfootUserBundle\BigfootUserBundle::class => ['all' => true],
    ];
    
  2. Database Migration Run the bundle’s migrations (if included) via:

    php bin/console doctrine:migrations:migrate
    

    (Note: The package lacks explicit migration docs; check src/Resources/config/doctrine for entity definitions.)

  3. First Use Case Create a user via the bundle’s service:

    $user = $this->get('bigfoot_user.user_manager')->create([
        'username' => 'johndoe',
        'email'    => 'john@example.com',
        'password' => 'secure123',
    ]);
    

Implementation Patterns

Core Workflows

  1. User Management

    • Creation: Use UserManager service (e.g., bigfoot_user.user_manager).
      $user = $this->get('bigfoot_user.user_manager')->create($data);
      
    • Authentication: Integrate with Symfony’s security component:
      # config/packages/security.yaml
      firewalls:
          main:
              form_login:
                  provider: bigfoot_user.user_provider
      
  2. Role-Based Access Assign roles via the RoleManager:

    $this->get('bigfoot_user.role_manager')->addRoleToUser($user, 'ROLE_ADMIN');
    
  3. Event Listeners Extend functionality via events (e.g., UserEvents::POST_CREATE):

    // src/EventListener/UserListener.php
    public function onUserCreated(UserEvent $event)
    {
        $user = $event->getUser();
        // Custom logic (e.g., send welcome email)
    }
    

    Register in services.yaml:

    services:
        App\EventListener\UserListener:
            tags:
                - { name: kernel.event_listener, event: bigfoot_user.user_created, method: onUserCreated }
    
  4. Custom Fields Extend the User entity (located in src/Entity/User.php):

    // src/Entity/User.php
    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $customField;
    

Gotchas and Tips

Pitfalls

  1. Outdated Codebase

    • Last release: 2014. Assumes Symfony 2.x conventions (e.g., services.yml, security.yml).
    • Fix: Override deprecated services in config/packages/bigfoot_user.yaml:
      services:
          bigfoot_user.user_manager:
              alias: 'app.user_manager' # Custom service
      
  2. Lack of Documentation

    • No API docs or migration guides. Reverse-engineer from:
      • src/Resources/config/doctrine/User.orm.xml
      • src/DependencyInjection/Configuration.php
  3. Hardcoded Defaults

    • Default roles/fields may conflict with your app. Override via:
      # config/packages/bigfoot_user.yaml
      bigfoot_user:
          roles:
              default: ['ROLE_USER']
          fields:
              required: ['username', 'email', 'password']
      

Debugging Tips

  1. Service Not Found? Clear cache:

    php bin/console cache:clear
    

    Verify bundle registration in config/bundles.php.

  2. Entity Mapping Issues If User entity isn’t autoloaded, manually map it in config/doctrine.yaml:

    orm:
        entity_managers:
            default:
                mappings:
                    BigfootUserBundle: ~
    
  3. Security Component Conflicts If using Symfony 4+, alias the user_provider:

    security:
        providers:
            app_user_provider:
                id: bigfoot_user.user_provider
    

Extension Points

  1. Custom User Provider Extend UserProvider to fetch users from external sources:

    class CustomUserProvider extends \Bigfoot\UserBundle\Security\User\UserProvider
    {
        public function loadUserByUsername($username)
        {
            // Custom logic
        }
    }
    

    Register as a service:

    services:
        app.user_provider:
            class: App\Security\User\CustomUserProvider
            tags: ['security.user_provider']
    
  2. Event System Extend events in src/Event/UserEvent.php:

    class CustomUserEvent extends UserEvent
    {
        public function getExtraData() { /* ... */ }
    }
    

    Dispatch via EventDispatcher:

    $dispatcher->dispatch(new CustomUserEvent($user), 'custom_user_event');
    
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