PHP code example of ramir1 / laravel-breadcrumbs-plus

1. Go to this page and download the library: Download ramir1/laravel-breadcrumbs-plus library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ramir1 / laravel-breadcrumbs-plus example snippets


use Ramir1\BreadcrumbsPlus\Breadcrumbs; // instead of Diglactic\Breadcrumbs\Breadcrumbs

Breadcrumbs::render([PostBreadcrumb::class, 'show'], $post);

// routes/breadcrumbs.php

use Diglactic\Breadcrumbs\Breadcrumbs;
use App\Breadcrumbs\PostBreadcrumb;

Breadcrumbs::rule('post', PostBreadcrumb::class);
Breadcrumbs::rule('post.edit', PostEditBreadcrumb::class, 'edit');

// app/Breadcrumbs/PostBreadcrumb.php

namespace App\Breadcrumbs;

use Diglactic\Breadcrumbs\Generator;

class PostBreadcrumb
{
    public function __construct(private SomeService $service)
    {
    }

    public function __invoke(Generator $trail, Post $post): void
    {
        $trail->parent('posts');
        $trail->push($post->title, route('posts.show', $post));
    }
}

// Modules/Posts/PostsServiceProvider.php

use Diglactic\Breadcrumbs\Breadcrumbs;

class PostsServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        Breadcrumbs::rules([
            'posts' => PostsIndexBreadcrumb::class,
            'posts.show' => PostBreadcrumb::class,
            'posts.edit' => [PostBreadcrumb::class, 'edit'],
        ]);
    }
}

// Instead of:
//   Breadcrumbs::rule('post.show', PostBreadcrumb::class);
//   ...
//   Breadcrumbs::render('post.show', $post);

Breadcrumbs::render([PostBreadcrumb::class], $post);

{{ Breadcrumbs::view('breadcrumbs::json-ld', [PageBreadcrumb::class, 'show'], $page) }}

class PostBreadcrumb
{
    public function __invoke(Generator $trail, Post $post): void
    {
        $trail->parent([PostsIndexBreadcrumb::class]); // instead of $trail->parent('posts')
        $trail->push($post->title, route('posts.show', $post));
    }
}