PHP致命错误:在Laravel 5中找不到类'App \ Http \ Controllers \ View'

时间:2018-03-04 04:03:22

标签: php laravel laravel-5 laravel-5.2

请帮助解决此问题

我的控制器

<?php namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
use View;
use DB;



class MyCon extends Controller {

/*
|--------------------------------------------------------------------------
| Welcome Controller
|--------------------------------------------------------------------------
|
| This controller renders the "marketing page" for the application and
| is configured to only allow guests. Like most of the other sample
| controllers, you are free to modify or remove it as you desire.
|
*/

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest');
}

/**
 * Show the application welcome screen to the user.
 *
 * @return Response
 */


public function register()
{
  //return \View::make('pages.Register');
    return view('pages.Register');
}

public function RegisterAction(Request $req)
{

    $name = $req->input('name');
    $email = $req->input('email');
    $gender = $req->input('gender');
    $password = $req->input('password');
    $data = array("uname" => $name, "uemail" => $email, "ugender" => $gender, "upassword" => $password);
    DB::table('user')->insert($data);
    //return \View::make('pages.Register');

}



}

我的注册函数工作正常但是当我在RegisterAction函数上提交表单时,显示错误,如'PHP致命错误:类'App \ Http \ Controllers \ View'未找到'

我的路由器代码

Route::post('RegisterAction', 'MyCon@RegisterAction');

请帮助解决此问题。 感谢提前

4 个答案:

答案 0 :(得分:1)

因为你改变了这个名字

use Illuminate\Routing\Controller as BaseController;

变化

class MyCon extends Controller {

class MyCon extends BaseController {

您可以使用视图助手功能,而不是像这样自己导入View类。

public function register()
{
    return view('pages.Register');
}

答案 1 :(得分:0)

Laravel为View类提供了一个很好的帮助。

  return view('pages.Register');

其次你也可以使用

use View; //on top
View::make('pages.Register');

希望这有帮助

答案 2 :(得分:0)

首先激活您的APP DEBUGGER,以便通过.env文件中的APP_DEBUG=true查看您的代码问题。

包含控制器中的View类不会给您带来问题并限制您使用该类,或者由于您使用的是Laravel 5,因此您只需调用{view()即可使用该功能view('SOMEVIEWHERE') {1}}

答案 3 :(得分:0)

我建议您从路由Web文件重定向到命名路由,请尝试return redirect()->route('route-name');;如果要使用视图,请尝试return view('view-name')

使用View::class表示您正在调用的视图模型只有创建了视图类后才可用。