Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 402] [Versions 311 and 403]

   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace Phpml\FeatureExtraction;
   6  
   7  use Phpml\Exception\InvalidArgumentException;
   8  
   9  class StopWords
  10  {
  11      /**
  12       * @var array
  13       */
  14      protected $stopWords = [];
  15  
  16      public function __construct(array $stopWords)
  17      {
  18          $this->stopWords = array_fill_keys($stopWords, true);
  19      }
  20  
  21      public function isStopWord(string $token): bool
  22      {
  23          return isset($this->stopWords[$token]);
  24      }
  25  
  26      public static function factory(string $language = 'English'): self
  27      {
  28          $className = __NAMESPACE__."\\StopWords\\$language}";
  29  
  30          if (!class_exists($className)) {
  31              throw new InvalidArgumentException(sprintf('Can\'t find "%s" language for StopWords', $language));
  32          }
  33  
  34          return new $className();
  35      }
  36  }