Example #1
0
 /**
  * Register an additional default loader
  *
  * @param \FluentDOM\Loadable|callable $loader
  * @param [string] ...$contentTypes
  * @return \FluentDOM\Loaders
  */
 public static function registerLoader($loader, ...$contentTypes)
 {
     $loaders = self::getDefaultLoaders();
     if (count($contentTypes) > 0) {
         $lazyLoader = new \FluentDOM\Loader\Lazy();
         foreach ($contentTypes as $contentType) {
             $lazyLoader->add($contentType, $loader);
         }
         $loaders->add($lazyLoader);
     } else {
         if (is_callable($loader)) {
             $loaders->add($loader());
         } else {
             $loaders->add($loader);
         }
     }
     self::$_loader = NULL;
     return $loaders;
 }