HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/BVerhoeven/verhoevendak.nl/app/Providers/BreadcrumbServiceProvider.php
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use DaveJamesMiller\Breadcrumbs\Facade as Breadcrumbs;
use KommaApp\Cases\CaseService;
use KommaApp\Pages\PageService;
use KommaApp\Services\ServiceService;

class BreadcrumbServiceProvider extends ServiceProvider
{
    /**
     * Register all breadcrumbs
     *
     * @param PageService $pageService
     * @param CaseService $caseService
     * @internal param Breadcrumbs $breadcrumbs
     */
    public function boot(
        PageService $pageService,
        CaseService $caseService,
        ServiceService $serviceService)
    {

        // Register all pages
        Breadcrumbs::register('home', function($breadcrumbs)
        {
            $breadcrumbs->push('Home', '/');
        });

        // Register all cases
        foreach($pageService->routes() as $pageRoute)
        {
            // Skip empty code names and home
            if(empty($pageRoute['code_name']) || $pageRoute['code_name'] == 'home') continue;

            // Register page
            Breadcrumbs::register('' . $pageRoute['code_name'], function($breadcrumbs) use ($pageRoute)
            {
                $breadcrumbs->parent('home');
                $breadcrumbs->push($pageRoute['name'], $pageRoute['alias']);
            });
        }

        // Register case index
        Breadcrumbs::register('cases', function($breadcrumbs)
        {
            $breadcrumbs->parent('home');
            $breadcrumbs->push('Cases', '/cases');
        });

        // Register all cases
        foreach($caseService->all() as $case)
        {
            Breadcrumbs::register('case.' . $case->translation->slug, function($breadcrumbs) use ($case)
            {
                $breadcrumbs->parent('cases');
                $breadcrumbs->push($case->translation->name, '/cases/' . $case->translation->slug);
            });
        }

        // Register service index
        Breadcrumbs::register('services', function($breadcrumbs)
        {
            $breadcrumbs->parent('home');
            $breadcrumbs->push('Diensten', '/diensten');
        });

        // Register all services
        foreach($serviceService->services() as $service)
        {
            Breadcrumbs::register('service.' . $service->slug, function($breadcrumbs) use ($service)
            {
                $breadcrumbs->parent('services');
                $breadcrumbs->push($service->name, '/diensten/' . $service->slug);
            });
        }
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

}