Files
laravel_school_api/app/Providers/SchoolCoreStudentServiceProvider.php
2026-05-30 01:11:35 -04:00

6 lines
2.6 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Providers;
use App\Domain\SchoolCore\Students\Contracts\AssignmentServiceContract; use App\Domain\SchoolCore\Students\Contracts\EnrollmentServiceContract; use App\Domain\SchoolCore\Students\Contracts\GuardianServiceContract; use App\Domain\SchoolCore\Students\Contracts\HouseholdServiceContract; use App\Domain\SchoolCore\Students\Contracts\PromotionPolicyContract; use App\Domain\SchoolCore\Students\Contracts\PromotionServiceContract; use App\Domain\SchoolCore\Students\Contracts\StudentIdentifierGeneratorContract; use App\Domain\SchoolCore\Students\Contracts\StudentLifecycleAuditLoggerContract; use App\Domain\SchoolCore\Students\Contracts\StudentProfileServiceContract; use App\Domain\SchoolCore\Students\Contracts\StudentReadServiceContract; use App\Domain\SchoolCore\Students\Contracts\StudentServiceContract; use App\Domain\SchoolCore\Students\Policies\DefaultPromotionPolicy; use App\Domain\SchoolCore\Students\Policies\DefaultStudentIdentifierGenerator; use App\Domain\SchoolCore\Students\Services\AssignmentService; use App\Domain\SchoolCore\Students\Services\EnrollmentService; use App\Domain\SchoolCore\Students\Services\GuardianService; use App\Domain\SchoolCore\Students\Services\HouseholdService; use App\Domain\SchoolCore\Students\Services\PromotionService; use App\Domain\SchoolCore\Students\Services\StudentLifecycleAuditLogger; use App\Domain\SchoolCore\Students\Services\StudentProfileService; use App\Domain\SchoolCore\Students\Services\StudentReadService; use App\Domain\SchoolCore\Students\Services\StudentService; use Illuminate\Support\ServiceProvider;
final class SchoolCoreStudentServiceProvider extends ServiceProvider { public function register(): void { $this->app->bind(StudentServiceContract::class,StudentService::class); $this->app->bind(StudentProfileServiceContract::class,StudentProfileService::class); $this->app->bind(StudentIdentifierGeneratorContract::class,DefaultStudentIdentifierGenerator::class); $this->app->bind(GuardianServiceContract::class,GuardianService::class); $this->app->bind(HouseholdServiceContract::class,HouseholdService::class); $this->app->bind(EnrollmentServiceContract::class,EnrollmentService::class); $this->app->bind(AssignmentServiceContract::class,AssignmentService::class); $this->app->bind(PromotionServiceContract::class,PromotionService::class); $this->app->bind(PromotionPolicyContract::class,DefaultPromotionPolicy::class); $this->app->bind(StudentLifecycleAuditLoggerContract::class,StudentLifecycleAuditLogger::class); $this->app->bind(StudentReadServiceContract::class,StudentReadService::class); } }