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],
];
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.)
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',
]);
User Management
UserManager service (e.g., bigfoot_user.user_manager).
$user = $this->get('bigfoot_user.user_manager')->create($data);
# config/packages/security.yaml
firewalls:
main:
form_login:
provider: bigfoot_user.user_provider
Role-Based Access
Assign roles via the RoleManager:
$this->get('bigfoot_user.role_manager')->addRoleToUser($user, 'ROLE_ADMIN');
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 }
Custom Fields
Extend the User entity (located in src/Entity/User.php):
// src/Entity/User.php
/**
* @ORM\Column(type="string", nullable=true)
*/
private $customField;
Outdated Codebase
services.yml, security.yml).config/packages/bigfoot_user.yaml:
services:
bigfoot_user.user_manager:
alias: 'app.user_manager' # Custom service
Lack of Documentation
src/Resources/config/doctrine/User.orm.xmlsrc/DependencyInjection/Configuration.phpHardcoded Defaults
# config/packages/bigfoot_user.yaml
bigfoot_user:
roles:
default: ['ROLE_USER']
fields:
required: ['username', 'email', 'password']
Service Not Found? Clear cache:
php bin/console cache:clear
Verify bundle registration in config/bundles.php.
Entity Mapping Issues
If User entity isn’t autoloaded, manually map it in config/doctrine.yaml:
orm:
entity_managers:
default:
mappings:
BigfootUserBundle: ~
Security Component Conflicts
If using Symfony 4+, alias the user_provider:
security:
providers:
app_user_provider:
id: bigfoot_user.user_provider
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']
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');
How can I help you explore Laravel packages today?