for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace Arcanedev\Breadcrumbs\Entities;
use Illuminate\Support\Collection;
/**
* Class BreadcrumbCollection
*
* @package Arcanedev\Breadcrumbs\Entities
* @author ARCANEDEV <[email protected]>
*/
class BreadcrumbCollection extends Collection
{
/* -----------------------------------------------------------------
| Main Methods
| -----------------------------------------------------------------
* Add a breadcrumb item to collection.
* @param string $title
* @param string $url
* @param array $data
* @return self
public function addOne($title, $url, array $data = [])
return $this->addBreadcrumb(
BreadcrumbItem::make($title, $url, $data)
);
}
* @param BreadcrumbItem $breadcrumb
public function addBreadcrumb(BreadcrumbItem $breadcrumb)
$this->push($breadcrumb);
return $this->order();
| Other Methods
* Order all breadcrumbs items.
private function order()
$count = $this->count();
$this->map(function (BreadcrumbItem $crumb, $key) use ($count) {
$crumb->resetPosition();
if ($key === 0)
$crumb->setFirst();
if ($key === ($count - 1))
$crumb->setLast();
return $crumb;
});
return $this;