laravel-breadcrumbs
Advanced Usage
Custom Classes
{note} laravel-breadcrumbs has been archived and is no longer maintained. Use caution when installing in your apps.
For more advanced customizations, you may subclass Rawilk\Breadcrumbs\Breadcrumbs
and/or Rawilk\Breadcrumbs\Support\Generator
, and then
update the config/breadcrumbs.php
file with the new class name.
'breadcrumbs_class' => \Rawilk\Breadcrumbs\Breadcrumbs::class,
'generator_class' => \Rawilk\Breadcrumbs\Support\Generator::class,
{note} Anything that's not part of the public API may change between releases, so I suggest you write unit tests to ensure it doesn't break when upgrading.
If you choose to use your own generator_class
, your class must implement the Rawilk\Breadcrumbs\Contracts\Generator
contract. Here is what the contract
looks like:
namespace Rawilk\Breadcrumbs\Contracts;
use Illuminate\Support\Collection;
interface Generator
{
/**
* Generate the registered breadcrumbs.
*
* @param array $callbacks The registered breadcrumb-generating closures
* @param array $before Any registered "before" callbacks
* @param string $name The name of the current route
* @param array $params Any route parameters
* @return \Illuminate\Support\Collection
* @throws \Rawilk\Breadcrumbs\Exceptions\BreadcrumbsNotRegistered
*/
public function generate(array $callbacks, array $before, string $name, array $params): Collection;
}