Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.

Differences Between: [Versions 310 and 403] [Versions 311 and 403] [Versions 39 and 403] [Versions 400 and 403] [Versions 401 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  }