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