Laravel - 在同一文件夹中使用 class

Laravel - using a class in the same folder

我希望有一个单独的 class 来处理新用户的验证。

文件夹结构为:

| app
  | Website
    | UserCreator
       - UserCreator.php
       - UserValidation.php

在我的 UserCreator 文件中,我试图在 UserValidation class 中使用这样的方法:

public function createUser($input)
{
    UserValidation::validate($input);
}

但是我得到这个:

Class 'Website\UserCreator\UserValidation' not found

这是验证class:

<?php

使用Illuminate\Support\Facades\Validator作为验证器;

class userValidation {

  public static $rules = array(
    'first_name' => 'required',
    'email_address' => 'unique:users'
  );

  public static $messages = [
  ];

  /**
   * validate the new user input
   * @param  $input
  */
  public function validate($input) {
    // validate
  }

}

我需要像这样实例化一个 class 吗?正如我在我的控制器中所做的那样?

我的控制器是:

Use Website\UserCreator\UserCreator as UserCreator;

class UserCreatorController extends BaseController
{

  protected $userCreator;

  public function __construct(UserCreator $userCreator){
    $this->userCreator = $userCreator;
  }

  public function addNewUser() {
    return $this->userCreator->createUser($input);
  }


}

因为 classes 在同一个文件夹中,我认为我不需要为验证命名空间/在 UserCreator 中定义它的用途?

我哪里错了?

尝试添加命名空间...PHP 不关心文件所在的目录,因此请确保指定 namespace Website\UserCreator;。如果那不起作用,您的自动加载器是什么样的?