Files
mtdb_movie/common/Core/Prerender/BaseUrlGenerator.php
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

46 lines
1007 B
PHP
Executable File

<?php
namespace Common\Core\Prerender;
use Common\Core\Contracts\AppUrlGenerator;
use Common\Pages\CustomPage;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class BaseUrlGenerator implements AppUrlGenerator
{
const SEPARATOR = '-';
public function customPage(array|CustomPage $page): string
{
if (isset($page['page'])) {
$originalSlug = $page['page']['slug'];
} else {
$originalSlug = $page['slug'];
}
$slug = slugify($originalSlug);
return url("pages/$slug");
}
public function home(): string
{
return url('');
}
/**
* @param Model|array $model
*/
public function generate($model): string
{
$method =
$model instanceof Model ? $model::MODEL_TYPE : $model['modelType'];
return $this->$method($model);
}
public function __call(string $name, array $arguments): string
{
return url(Str::kebab($name));
}
}