Я пытаюсь вызвать класс из файла. Я использовал код ниже:Вызов класса из другого файла в PHP
<?php
use Fieg\Bayes\Classifier;
use Fieg\Bayes\Tokenizer\WhitespaceAndPunctuationTokenizer;
$tokenizer = new WhitespaceAndPunctuationTokenizer();
$classifier = new Classifier($tokenizer);
$classifier->train('en', 'This is english');
$classifier->train('fr', 'Je suis Hollandais');
$result = $classifier->classify('This is a naive bayes classifier');
Но это дает ошибку:
Fatal error: Class 'Fieg\Bayes\Tokenizer\WhitespaceAndPunctuationTokenizer' not found in C:\xampp\htdocs\Nayve\test.php on line 5
Мое местоположение папки:
И мой код в WhitespaceAndPunctuationTokenizer
классе:
<?php
/*
* @author Jeroen Fiege <[email protected]>
* @copyright Webcreate (http://webcreate.nl)
*/
namespace Fieg\Bayes\Tokenizer;
use Fieg\Bayes\TokenizerInterface;
class WhitespaceAndPunctuationTokenizer implements TokenizerInterface
{
protected $pattern = "/[ ,.?!-:;\\n\\r\\t…_]/u";
public function tokenize($string)
{
$retval = preg_split($this->pattern, mb_strtolower($string, 'utf8'));
$retval = array_filter($retval, 'trim');
$retval = array_values($retval);
return $retval;
}
}
Вы включили классы в текущий скрипт php? – jmattheis
Вы используете 'use Fieg \ Bayes \ Tokenizer \ WhitespaceAndPunctuationTokenizer;', но определили ли это в пространстве имен Nayve \ Fieg \ Bayes \ Tokenizer; '. Есть ли другой код, который вы нам не предоставили, или используете неправильное пространство имен. –