Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 402] [Versions 39 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  }