32 lines
776 B
PHP
32 lines
776 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Enums\Site;
|
|
|
|
use App\Models\Project;
|
|
use App\Models\ProjectLanguage;
|
|
|
|
enum ProjectSection
|
|
{
|
|
case Home;
|
|
|
|
public function url(Project $project, ?ProjectLanguage $language = null): string
|
|
{
|
|
$parameters = [];
|
|
$prefixProject = '';
|
|
if ($project->http_host === null) {
|
|
$prefixProject = 'project.';
|
|
$parameters['project'] = $project->code;
|
|
}
|
|
|
|
$prefixLanguage = '';
|
|
if ($language?->is_default === false) {
|
|
$parameters['language'] = $language->code;
|
|
$prefixLanguage = '-language';
|
|
}
|
|
|
|
return match ($this) {
|
|
self::Home => \route($prefixProject . 'home' . $prefixLanguage, $parameters),
|
|
};
|
|
}
|
|
}
|