Laravel 5输入::获取错误

时间:2016-02-10 08:33:21

标签: php laravel laravel-5

为什么我会出现此错误?我尝试添加使用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.';
    }
  }
}

2 个答案:

答案 0 :(得分:1)

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

想象一下它是一个大写的文件夹结构,现在你在App\Htt\Controllers下,所以它寻找App\Http\Controllers\Input。 任何不直接在同一名称空间下的内容必须在类声明之前引用,或者在完整名称空间的前面加上反斜杠\

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

为了更好地理解,在模型的情况下,您需要将课程User作为use App\User;调用到顶部,或直接调用\App\User::all()(例如)inline in你方法的代码。

答案 1 :(得分:1)

use Input;之后添加Namespace ...,然后使用Input::get(..)或不添加use并致电\Input::get(..)。点击此处了解详情:http://php.net/manual/pl/language.namespaces.php