Files
my-projects-website/app/application/app/Enums/Site/ProjectSection.php
T

37 lines
1.1 KiB
PHP

<?php declare(strict_types=1);
namespace App\Enums\Site;
use App\Models\Project;
use App\Models\ProjectLanguage;
enum ProjectSection: string
{
case Home = 'home';
case Feedback = 'feedback';
case FeedbackSend = 'feedback.send';
case Documentation = 'documentation';
case DocumentationVersion = 'documentation.version';
case DocumentationCategory = 'documentation.category';
case DocumentationView = 'documentation.view';
public function url(Project $project, ?ProjectLanguage $language = null, array $parameters = []): string
{
$prefixProject = '';
if ($project->http_host === null) {
$prefixProject = 'project.';
$parameters['project'] = $project->code;
}
$prefixLanguage = '';
if ($language?->is_default === false) {
$parameters['language'] = $language->code;
$prefixLanguage = '-language';
}
$route = \route($prefixProject . $this->value . $prefixLanguage, $parameters, false);
return $project->http_host . $route;
}
}