Я получаю эту ошибку при попытке проверить мой OrderForm.php. Если кто-то следовал Учебное пособие по корзине покупок Codecourse Вы можете знать, почему я получаю эту ошибку. Вот мой код в некоторых моих файлах, который я считаю наиболее подходящим для этой ошибки и, конечно, ошибки.
Ошибка:
Сообщение: класс ‘Respect \ Validation \ Validator’ не найден
Файл: PATH / корзина / приложение / проверка / формы / OrderForm.php
13
Я также опубликую это изображение моих папок каталога:
Каталог Папка Изображение
OrderForm.php
<?php
namespace Cart\Validation\Forms;use Respect\Validation\Validator as v;
class OrderForm
{
public static function rules()
{
return [
'email' => v::email(),
'name' => v::alpha(' '),
'address1' => v::alnum(' -'),
'address2' => v::optional(v::alnum(' -')),
'city' => v::alnum(' '),
'postal_code' => v::alnum(' '),
];
}
}
Validator.php
<?php
namespace Cart\Validation;
use Cart\Validation\Contracts\ValidatorInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Respect\Validation\Exceptions\NestedValidationException;
class Validator implements ValidatorInterface
{
protected $errors = [];
public function validate(Request $request, array $rules)
{
foreach ($rules as $field => $rule) {
try {
$rule->setName(ucfirst($field))->assert($request->getParam($field));
} catch (NestedValidationException $e) {
$this->errors[$field] = $e->getMessages();
}
}
$_SESSION['errors'] = $this->errors;
return $this;
}
public function fails()
{
return !empty($this->errors);
}
}
ValidatorInterface.php
<?php
namespace Cart\Validation\Contracts;
use Psr\Http\Message\ServerRequestInterface as Request;
interface ValidatorInterface
{
public function validate(Request $request, array $rules);
public function fails();
}
Редактировать: Я просто хочу сказать, что я изменился:
use Respect\Validation\Validator as v;
в
use Cart\Validation\Validator as v;
И тогда я получаю совершенно новую ошибку, так что это сработало.
Ну, это говорит вам, где ошибка:
Сообщение: класс ‘Respect \ Validation \ Validator’ не найден
Недопустимый путь к этому классу, или этот файл не находится на этом пути. Я не совсем уверен, но если вы напишите это, как вы сделали use Respect\Validation\Validator as v;
окончательный путь будет текущим пространством имен плюс этот путь Cart\Validation\Forms\Respect\Validation\Validator
,
Файл: PATH / cart / app / Validation / Forms / OrderForm.php на 13
Эта вторая часть как раз и вызвала ошибку, в строке 13 'email' => v::email(),
,
Редактировать:
Я только что видел это изображение, путь должен быть use \App\Validation\Validator
Мне кажется, что вы можете отсутствовать файл зависимости, такой как уважение / проверка поскольку некоторые элементы установлены во время видеоуроков, я бы порекомендовал посмотреть видео (ы) что касается любой из Проверка рутины, как кодовый курс «Аутентификация с помощью Slim 3:«, устанавливает дополнительные дополнения / компоненты с менеджерами пакетов, такими как композитор, во время урока, который мог быть пропущен.