Laravel 5 input::get error


Laravel 5 input::get error

为什么会出现此错误?我试图添加使用Illuminate'Http'Request;但是同样的错误?$username = $request->input('username');也和$username = Input::get('username');一样吗?

我得到的错误是:

FatalErrorException in LoginController.php line 22: Class 'App'Http'Controllers'Input' not found

class LoginController extends Controller {
  // Display the login form
  public function showLogin()
  {
    return View::make('login');
  }
  // Process submission of the login form by verifying user’s credentials
  public function processLogin()
  {
    $username = Input::get('username');
    $password = Input::get('password');
    if ($username === 'prince' && $password === 'c@spiAN') {
      return 'Access granted!';
    } else {
      return 'Access denied! Wrong username or password.';
    }
  }
}

Namespace ... 后添加use Input;,然后按Input::get(..)使用,或者不添加use并调用 'Input::get(..) 。在此处查找更多信息: http://php.net/manual/pl/language.namespaces.php

正如其他人在评论中告诉您的那样,您必须遵循命名空间。

将其想象为大写的文件夹结构,现在您在App'Htt'Controllers下,因此它会寻找App'Http'Controllers'Input。任何不直接位于同一命名空间下的内容都必须在类声明之前引用,或者在开头添加反斜杠'以完整命名空间为前缀。

这取决于您需要使用它多少次。如果只有一次,则使用根目录的完整路径调用它。在这种情况下,它将'Input'Input::get(...)),否则在顶部引用它并像在问题代码中那样调用它。

为了更好地理解,对于模型,您需要在方法代码中以use App'User;或直接调用类User作为内联'App'User::all()(例如)。