HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/iphim.naniguide.com/common/Core/Prerender/BaseUrlGenerator.php
<?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));
    }
}