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

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

Removes one or more CSS classes that have been set by other methods. This method won't fail if the passed class has not been set already.
public removeCssClasses ( string | array $cssClasses )
$cssClasses string | array
    public function removeCssClasses($cssClasses)
    {
        if (is_string($cssClasses)) {
            $cssClasses = explode(' ', $cssClasses);
        }
        if (!is_array($cssClasses)) {
            throw new \InvalidArgumentException('Breadcrumbs::removeCssClasses() 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::removeCssClasses() was passed an array, but at least one of the values was not a ' . 'string: $cssClasses[' . $key . '] = ' . print_r($cssClass, true));
            }
        }
        $cssClasses = array_diff($this->breadcrumbsCssClasses, $cssClasses);
        $this->breadcrumbsCssClasses = array_unique($cssClasses);
        return $this;
    }

Usage 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());
 }