Laravel &引用;类别';App\Controllers\controller';“未找到”;
我对laravel很陌生,我正在尝试制作我自己的登录和注册表单,用户可以在其中登录和注册,我的注册表单工作正常。它收集数据并存储在数据库中,但每当我尝试使用相同的数据登录时,就会出现此错误。如果有任何帮助,我将不胜感激。我尝试了许多方法,但都失败了。 谢谢 错误: 找不到类“App\Controllers\controller” 我的HTML:Laravel &引用;类别';App\Controllers\controller';“未找到”;,laravel,Laravel,我对laravel很陌生,我正在尝试制作我自己的登录和注册表单,用户可以在其中登录和注册,我的注册表单工作正常。它收集数据并存储在数据库中,但每当我尝试使用相同的数据登录时,就会出现此错误。如果有任何帮助,我将不胜感激。我尝试了许多方法,但都失败了。 谢谢 错误: 找不到类“App\Controllers\controller” 我的HTML: @extends("layouts.master") @section('title') My page @endsection @section(
@extends("layouts.master")
@section('title')
My page
@endsection
@section('content')
<div class="row">
<div class="col-md-6">
<h3>Sign-Up</h3>
<form action="{{route('signup')}}" method="post">
<div class="form-group">
<label for="email">Your email</label>
<input class="form-control" type="text" name="email" id="email">
</div>
<div class="form-group">
<label for="first_name">First Name</label>
<input class="form-control" type="text" name="first_name" id="first_name">
</div>
<div class="form-group">
<label for="password">Password</label>
<input class="form-control" type="password" name="password" id="password">
</div>
<button type="sumbit" class="btn btn-primary">sumbit</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
</form>
</div>
<div class="col-md-6">
<h3>Login </h3>
<form action="{{route('signin')}}" method="post">
<div class="form-group">
<label for="email">Your email</label>
<input class="form-control" type="text" name="email" id="email">
</div>
<div class="form-group">
<label for="password">Password</label>
<input class="form-control" type="password" name="password" id="password">
</div>
<button type="sumbit" class="btn btn-primary">sumbit</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
</form>
</div>
</div>
@endsection
@extends(“layouts.master”)
@章节(“标题”)
我的页面
@端部
@节(“内容”)
报名
你的电子邮件
名字
密码
萨姆比特
登录
你的电子邮件
密码
萨姆比特
@端部
控制器:
<?php
namespace App\Controllers;
use App\Http\Requests;
use App\User;
use App\UserTypes;
use Auth;
use Hashids;
use Redirect;
use Request;
use Hash;
class UserController extends controller
{
public function getdashboard()
{
return view('dashboard');
}
public function postSignUp(Request $request)
{
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
return redirect()->route('dashboard');
}
public function postSignIn(Request $request)
{
if(Auth::attempt([ 'email' => $request['email'],'password' => $request['password']])){
return redirect()->route('dashboard');
}
return redirect()->back();
}
}
您的名称空间访问控制器
文件夹时出错,控制器文件上的第一行代码更改:
namespace App\Controllers;
到
如果出现此错误(无法将类型为Lightning\Support\Facades\Request的对象用作数组
),也请更改此部分:
及
到
默认情况下,laravel将控制器置于
app\Http\Controllers
因此,替换名称空间App\Controllers
bynamespace-App\Http\Controllers代码>
编辑:
访问请求变量,如下所示:
$email = $request->input('email');
$first_name = $request->input('first_name');
//similar way for other inputs
$request
是一个对象,因此您可以使用->
获取属性。更改控制器代码,如下所示:
<?php
namespace App\Http\Controllers; // HERE
use Illuminate\Http\Request; // FOR YOUR COMMENT
use App\Http\Requests;
use App\User;
use App\UserTypes;
use Auth;
use Hashids;
use Redirect;
use Request;
use Hash;
class UserController extends controller
{
public function getdashboard()
{
return view('dashboard');
}
public function postSignUp(Request $request)
{
$email = $request->email;// HERE
$first_name = $request->first_name;// HERE
$password = bcrypt($request->password);// HERE
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
return redirect()->route('dashboard');
}
public function postSignIn(Request $request)
{
if(Auth::attempt([ 'email' => $request->email,'password' => $request->password])){// HERE
return redirect()->route('dashboard');
}
return redirect()->back();
}
}
我想在这里链接一些laravel
,在App\Http\Controllers\Controllers
有一个名为Controller
的类,您需要将其用作基类,但简言之,只需将控制器名称空间从App\Controllers
更改为App\Http\Controllers
,或者您甚至可以为自己实现控制器
类,其外观如下所示:
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
class UserController extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function postSignUp(Request $request)
{
$this->validate($request, [
'email' => 'required|email|unique:users',
'first_name' => 'required|max:120',
'password' => 'required|min:4'
]);
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
Auth::login($user);
return redirect()->route('dashboard');
}
public function postSignIn(Request $request)
{
$this->validate($request, [
'email' => 'required',
'password' => 'required'
]);
if (Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) {
return redirect()->route('dashboard');
}
return redirect()->back();
}
public function getLogout()
{
Auth::logout();
return redirect()->route('home');
}
public function getAccount()
{
return view('account', ['user' => Auth::user()]);
}
public function postSaveAccount(Request $request)
{
$this->validate($request, [
'first_name' => 'required|max:120'
]);
$user = Auth::user();
$old_name = $user->first_name;
$user->first_name = $request['first_name'];
$user->update();
$file = $request->file('image');
$filename = $request['first_name'] . '-' . $user->id . '.jpg';
$old_filename = $old_name . '-' . $user->id . '.jpg';
$update = false;
if (Storage::disk('local')->has($old_filename)) {
$old_file = Storage::disk('local')->get($old_filename);
Storage::disk('local')->put($filename, $old_file);
$update = true;
}
if ($file) {
Storage::disk('local')->put($filename, File::get($file));
}
if ($update && $old_filename !== $filename) {
Storage::delete($old_filename);
}
return redirect()->route('account');
}
public function getUserImage($filename)
{
$file = Storage::disk('local')->get($filename);
return new Response($file, 200);
}
}
确保Controller.php文件存在于App/Http/Controllers/folder中。请注意,php
对类命名不区分大小写,但您可以使用并扩展\App\Http\Controllers\Controller
,而不仅仅是Controller
,有关更多详细信息,请参阅我已经替换了它,但现在它给我这个错误,无论是在注册和登录形式之前,注册工作良好。。。。“无法使用Lightlight\Support\Facades\Request类型的对象,因为arrayi已更改它,正如您所说的,现在它给了我这个错误”未定义的属性:Lightlight\Support\Facades\Request::$email“@charlie9816,添加use-illumed\Http\Request
在你的routes.php
文件的顶部,我已经改变了你说的所有事情,现在它给了我这个错误,兄弟,我不明白它是什么意思“未定义的属性:照明\支持\外观\请求::$email”我已经编辑了我的答案。请尝试添加use\Http\Request可能不区分大小写,但自动加载取决于底层文件系统的敏感性。如果使用linux,名为controller
的类将查找controller.php
。如果文件名为Controller.php
,则将找不到该文件。如果使用Windows,那么我相信它会工作得很好。
$email = $request->email;
$first_name = $request->first_name;
$password = bcrypt($request->password);
app\Http\Controllers
$email = $request->input('email');
$first_name = $request->input('first_name');
//similar way for other inputs
<?php
namespace App\Http\Controllers; // HERE
use Illuminate\Http\Request; // FOR YOUR COMMENT
use App\Http\Requests;
use App\User;
use App\UserTypes;
use Auth;
use Hashids;
use Redirect;
use Request;
use Hash;
class UserController extends controller
{
public function getdashboard()
{
return view('dashboard');
}
public function postSignUp(Request $request)
{
$email = $request->email;// HERE
$first_name = $request->first_name;// HERE
$password = bcrypt($request->password);// HERE
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
return redirect()->route('dashboard');
}
public function postSignIn(Request $request)
{
if(Auth::attempt([ 'email' => $request->email,'password' => $request->password])){// HERE
return redirect()->route('dashboard');
}
return redirect()->back();
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
class UserController extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function postSignUp(Request $request)
{
$this->validate($request, [
'email' => 'required|email|unique:users',
'first_name' => 'required|max:120',
'password' => 'required|min:4'
]);
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
Auth::login($user);
return redirect()->route('dashboard');
}
public function postSignIn(Request $request)
{
$this->validate($request, [
'email' => 'required',
'password' => 'required'
]);
if (Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) {
return redirect()->route('dashboard');
}
return redirect()->back();
}
public function getLogout()
{
Auth::logout();
return redirect()->route('home');
}
public function getAccount()
{
return view('account', ['user' => Auth::user()]);
}
public function postSaveAccount(Request $request)
{
$this->validate($request, [
'first_name' => 'required|max:120'
]);
$user = Auth::user();
$old_name = $user->first_name;
$user->first_name = $request['first_name'];
$user->update();
$file = $request->file('image');
$filename = $request['first_name'] . '-' . $user->id . '.jpg';
$old_filename = $old_name . '-' . $user->id . '.jpg';
$update = false;
if (Storage::disk('local')->has($old_filename)) {
$old_file = Storage::disk('local')->get($old_filename);
Storage::disk('local')->put($filename, $old_file);
$update = true;
}
if ($file) {
Storage::disk('local')->put($filename, File::get($file));
}
if ($update && $old_filename !== $filename) {
Storage::delete($old_filename);
}
return redirect()->route('account');
}
public function getUserImage($filename)
{
$file = Storage::disk('local')->get($filename);
return new Response($file, 200);
}
}