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