AMS_Backend/app/Config/Services.php
2025-11-06 13:41:06 +08:00

72 lines
1.9 KiB
PHP

<?php
namespace Config;
use CodeIgniter\Config\BaseService;
use App\Services\CartService;
use App\Services\PromoService;
use App\Services\CalculateService;
use App\Services\VoucherService;
/**
* Services Configuration file.
*
* Services are simply other classes/libraries that the system uses
* to do its job. This is used by CodeIgniter to allow the core of the
* framework to be swapped out easily without affecting the usage within
* the rest of your application.
*
* This file holds any application-specific services, or service overrides
* that you might need. An example has been included with the general
* method format you should use for your service methods. For more examples,
* see the core Services file at system/Config/Services.php.
*/
class Services extends BaseService
{
/*
* public static function example($getShared = true)
* {
* if ($getShared) {
* return static::getSharedInstance('example');
* }
*
* return new \CodeIgniter\Example();
* }
*/
public static function promoService($getShared = true)
{
if ($getShared) {
return static::getSharedInstance('promoService');
}
return new PromoService();
}
public static function cartService($getShared = true)
{
if ($getShared) {
return static::getSharedInstance('cartService');
}
return new CartService();
}
public static function calculateService(bool $getShared = true)
{
if ($getShared) {
return static::getSharedInstance('calculateService');
}
return new CalculateService(static::promoService());
}
public static function voucherService(bool $getShared = true)
{
if ($getShared) {
return static::getSharedInstance('voucherService');
}
return new voucherService();
}
}