Creitive\Breadcrumbs\Breadcrumbs::setBreadcrumbs PHP Метод

setBreadcrumbs() публичный Метод

Sets all the breadcrumbs. Useful for quickly configuring the instance.
public setBreadcrumbs ( array $breadcrumbs )
$breadcrumbs array
    public function setBreadcrumbs($breadcrumbs)
    {
        if (!is_array($breadcrumbs)) {
            throw new \InvalidArgumentException('Breadcrumbs::setBreadcrumbs() only accepts arrays, but ' . (is_object($breadcrumbs) ? get_class($breadcrumbs) : gettype($breadcrumbs)) . ' given: ' . print_r($breadcrumbs, true));
        }
        foreach ($breadcrumbs as $key => $breadcrumb) {
            if (!static::isValidCrumb($breadcrumb)) {
                throw new \InvalidArgumentException('Breadcrumbs::setBreadcrumbs() only accepts correctly formatted arrays, but at least one of the ' . 'values was misformed: $breadcrumbs[' . $key . '] = ' . print_r($breadcrumb, true));
            } else {
                $this->addCrumb($breadcrumb['name'] ?: '', $breadcrumb['href'] ?: '', isset($breadcrumb['hrefIsFullUrl']) ? (bool) $breadcrumb['hrefIsFullUrl'] : false);
            }
        }
        return $this;
    }

Usage Example

Пример #1
0
 /**
  * Tests whether `Breadcrumbs::setBreadcrumbs()` throws the correct exception
  * when called with invalid arguments.
  *
  * @dataProvider invalidCrumbsProvider
  * @expectedException InvalidArgumentException
  */
 public function testSetBreadcrumbsException($crumbs)
 {
     $b = new Breadcrumbs();
     $b->setBreadcrumbs($crumbs);
 }