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.
   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace Phpml\Helper;
   6  
   7  trait Predictable
   8  {
   9      /**
  10       * @return mixed
  11       */
  12      public function predict(array $samples)
  13      {
  14          if (!is_array($samples[0])) {
  15              return $this->predictSample($samples);
  16          }
  17  
  18          $predicted = [];
  19          foreach ($samples as $index => $sample) {
  20              $predicted[$index] = $this->predictSample($sample);
  21          }
  22  
  23          return $predicted;
  24      }
  25  
  26      /**
  27       * @return mixed
  28       */
  29      abstract protected function predictSample(array $sample);
  30  }