diff --git a/src/LanguageDetector/EmptyLanguage.php b/src/LanguageDetector/EmptyLanguage.php index 467a3b3..1591c3e 100644 --- a/src/LanguageDetector/EmptyLanguage.php +++ b/src/LanguageDetector/EmptyLanguage.php @@ -1,6 +1,6 @@ file = null; - $this->loaded = true; + $this->file = null; + $this->loaded = true; $this->subset = [ 'freq' => [], 'n_words' => [], diff --git a/src/LanguageDetector/Language.php b/src/LanguageDetector/Language.php index a390e23..9d48aed 100644 --- a/src/LanguageDetector/Language.php +++ b/src/LanguageDetector/Language.php @@ -1,6 +1,6 @@ file = $file; + $this->file = $file; } /** @@ -74,10 +74,12 @@ public function load(): self /** * Get frequencies by ngrams + * + * @return array */ public function getFreq(): array { - if (!$this->loaded) { + if (! $this->loaded) { $this->load(); } @@ -86,10 +88,12 @@ public function getFreq(): array /** * Get total numbers of occurences by ngram sizes + * + * @return array */ public function getNWords(): array { - if (!$this->loaded) { + if (! $this->loaded) { $this->load(); } @@ -101,7 +105,7 @@ public function getNWords(): array */ public function getCode(): string { - if (!$this->loaded) { + if (! $this->loaded) { $this->load(); } diff --git a/src/LanguageDetector/LanguageDetector.php b/src/LanguageDetector/LanguageDetector.php index 760c0e2..0e79e82 100644 --- a/src/LanguageDetector/LanguageDetector.php +++ b/src/LanguageDetector/LanguageDetector.php @@ -1,6 +1,6 @@ */ private $languages = []; /** - * @var array + * @var array */ private $scores = []; @@ -37,7 +37,7 @@ class LanguageDetector private $text = ''; /** - * @var \LanguageDetector\LanguageDetector + * @var LanguageDetector */ private static $detector; @@ -45,15 +45,16 @@ class LanguageDetector * Configure all subset languages * * @param string $dir A directory where subsets are. - * @param array $languages Language codes to load models for. By default, all languages are loaded. + * @param array $languages Language codes to load models for. By default, all languages are loaded. */ - public function __construct(string $dir = null, array $languages = []) + public function __construct(?string $dir = null, array $languages = []) { - $datadir = null === $dir - ? __DIR__ . '/subsets' : rtrim($dir, '/'); + $datadir = is_null($dir) + ? __DIR__ . '/subsets' + : rtrim($dir, '/'); foreach (glob($datadir . '/*') as $file) { - if (!count($languages) + if (! count($languages) || in_array(basename($file), $languages) ) { $this->languages[basename($file)] = new Language($file); @@ -69,7 +70,7 @@ public function __construct(string $dir = null, array $languages = []) */ public function evaluate(string $text): self { - if (empty($text)) { + if ($text === '') { return $this; } @@ -85,7 +86,6 @@ public function evaluate(string $text): self /** * Static call for oneliners * - * @param string $text * @param array $languages Language codes to load models for. By * default, all languages are loaded. * @return \LanguageDetector\LanguageDetector @@ -94,7 +94,7 @@ public function evaluate(string $text): self public static function detect(string $text, array $languages = []): self { // Current loaded models - $current = !is_null(self::$detector) + $current = ! is_null(self::$detector) ? self::$detector->getLanguages() : []; @@ -121,9 +121,9 @@ public static function detect(string $text, array $languages = []): self * Language definition. * @api */ - public function getLanguage(string $code = null): Language + public function getLanguage(?string $code = null): Language { - if (!count($this->scores)) { + if (! count($this->scores)) { return new EmptyLanguage(); } @@ -136,10 +136,10 @@ public function getLanguage(string $code = null): Language return $this->languages[$code]; } - /** + /** * Get loaded languages * - * @return []string An array of ISO codes + * @return array An array of ISO codes * @api */ public function getLanguages(): array @@ -150,13 +150,13 @@ public function getLanguages(): array /** * Get all scored subsets * - * @return array An array of ISO codes => scores + * @return array An array of ISO codes => scores * @throws \Exception if nothing has been evaluated * @api */ public function getScores(): array { - if (!count($this->scores)) { + if (! count($this->scores)) { throw new Exception('No string has been evaluated'); } @@ -166,7 +166,7 @@ public function getScores(): array /** * Get all supported languages * - * @return array An array of ISO codes + * @return array An array of ISO codes * @api */ public function getSupportedLanguages(): array @@ -188,16 +188,16 @@ public function getText(): string */ public function __toString(): string { - return (string)$this->getLanguage(); + return (string) $this->getLanguage(); } /** - * Get a callable evaluator that will calculate probabilities + * Get a callable evaluator that will calculate probabilities * for one language. */ private function calculate(array $chunks): callable { - return function($language, $code) use ($chunks) { + return function ($language, $code) use ($chunks): void { $this->scores[$code] = array_sum( array_intersect_key(