Installation Add the package via Composer (though note the read-only status):
composer require beloop/core-bundle
Enable the bundle in config/bundles.php:
Beloop\CoreBundle\BeloopCoreBundle::class => ['all' => true],
First Use Case: Dependency Injection
The bundle likely provides base services for LMS workflows (e.g., user roles, course structures). Check src/DependencyInjection/ for available services. Example:
# config/packages/beloop_core.yaml
beloop_core:
default_role: 'student' # Hypothetical config key
Key Classes
Scan src/ for core abstractions (e.g., UserProvider, CourseManager). Verify with:
php bin/console debug:container beloop
User Roles If the bundle defines role hierarchies, extend via:
// src/Entity/User.php
use Beloop\CoreBundle\Model\UserInterface;
class AppUser implements UserInterface {
public function getRoles(): array {
return ['ROLE_APP_STUDENT', ...parent::getRoles()];
}
}
Event Listeners
Hook into LMS events (e.g., user.registered). Example:
// src/EventListener/CourseListener.php
use Beloop\CoreBundle\Event\CourseEvent;
class CourseListener {
public function onCourseCreated(CourseEvent $event) {
// Custom logic
}
}
Register in services.yaml:
services:
App\EventListener\CourseListener:
tags:
- { name: 'kernel.event_listener', event: 'beloop.course.created' }
Twig Integration Use provided Twig extensions (if any) for LMS-specific templates:
{{ beloop_course_path(course) }} {# Hypothetical helper #}
config/bundles.php for auto-configuration.src/Resources/migrations/ for schema changes (if included).$this->container->set('beloop.user_provider', $mockProvider);
Archived Status
Outdated Symfony
Undocumented Features
php bin/console debug:container to explore services.Service Not Found? Verify the bundle is enabled and dependencies are installed:
composer show beloop/core-bundle
Event Not Triggered?
Check event names in src/Event/ and ensure listeners are tagged correctly.
Custom Providers
Override default providers (e.g., user_provider) by defining your own service with higher priority:
services:
app.user_provider:
class: App\Service\CustomUserProvider
decorates: 'beloop.user_provider'
arguments: ['@app.user_provider.inner']
Configuration Overrides
Extend config/packages/beloop_core.yaml to modify bundle behavior:
beloop_core:
max_courses_per_user: 10
Twig Extensions If the bundle provides Twig functions, override them in your app:
{% extends 'beloop_base.html.twig' %}
{% block beloop_course_path %}{{ custom_path(course) }}{% endblock %}
How can I help you explore Laravel packages today?