Creitive\Breadcrumbs\Breadcrumbs::addCssClasses PHP Method

addCssClasses() public method

Adds more CSS classes which will be applied to the containing
    element. Can be passed a string or an array. If passed a string, separate CSS classes should be separated with spaces.
public addCssClasses ( $cssClasses )
    public function addCssClasses($cssClasses)
    {
        if (is_string($cssClasses)) {
            $cssClasses = explode(' ', $cssClasses);
        }
        if (!is_array($cssClasses)) {
            throw new \InvalidArgumentException('Breadcrumbs::addCssClasses() only accepts strings or arrays, but ' . (is_object($cssClasses) ? get_class($cssClasses) : gettype($cssClasses)) . ' given: ' . print_r($cssClasses, true));
        }
        foreach ($cssClasses as $key => $cssClass) {
            if (!is_string($cssClass)) {
                throw new \InvalidArgumentException('Breadcrumbs::addCssClasses() was passed an array, but at least one of the values was not a ' . 'string: $cssClasses[' . $key . '] = ' . print_r($cssClass, true));
            }
        }
        $cssClasses = array_merge($this->breadcrumbsCssClasses, $cssClasses);
        $this->breadcrumbsCssClasses = array_unique($cssClasses);
        return $this;
    }

Usage Example

Example #1
0
 /**
  * @dataProvider cssClassesProvider
  */
 public function testCssClassesMethods($classes)
 {
     $b = new Breadcrumbs(array(), $classes);
     $this->assertCount(count($classes), $b->getBreadcrumbsCssClasses());
     $b->removeCssClasses($classes);
     $this->assertCount(0, $b->getBreadcrumbsCssClasses());
     $b->addCssClasses($classes);
     $this->assertCount(count($classes), $b->getBreadcrumbsCssClasses());
 }