All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
47 lines
1.4 KiB
PHP
47 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Nwidart\Modules\Laravel;
|
|
|
|
use Illuminate\Filesystem\Filesystem;
|
|
use Illuminate\Foundation\AliasLoader;
|
|
use Illuminate\Foundation\ProviderRepository;
|
|
use Illuminate\Support\Str;
|
|
use Nwidart\Modules\Module as BaseModule;
|
|
|
|
class Module extends BaseModule
|
|
{
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function getCachedServicesPath(): string
|
|
{
|
|
// This checks if we are running on a Laravel Vapor managed instance
|
|
// and sets the path to a writable one (services path is not on a writable storage in Vapor).
|
|
if (!is_null(env('VAPOR_MAINTENANCE_MODE', null))) {
|
|
return Str::replaceLast('config.php', $this->getSnakeName() . '_module.php', $this->app->getCachedConfigPath());
|
|
}
|
|
|
|
return Str::replaceLast('services.php', $this->getSnakeName() . '_module.php', $this->app->getCachedServicesPath());
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function registerProviders(): void
|
|
{
|
|
(new ProviderRepository($this->app, new Filesystem(), $this->getCachedServicesPath()))
|
|
->load($this->get('providers', []));
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function registerAliases(): void
|
|
{
|
|
$loader = AliasLoader::getInstance();
|
|
foreach ($this->get('aliases', []) as $aliasName => $aliasClass) {
|
|
$loader->alias($aliasName, $aliasClass);
|
|
}
|
|
}
|
|
}
|