未找到Laravel HomeController

时间:2017-05-01 17:13:12

标签: php laravel controller routing

我的Laravel 5.4应用程序遇到了一些问题。

我使用使用php artisan make:auth

创建的标准HomeController

的HomeController

<?php

namespace App\Http\Controllers;

use Request;

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

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index($params = "")
    {
        $param = $params;
        return view('main', ['testvar' => $param]);
    }
}

现在我想在我调用的路由中将变量传递给Controller:

web.php

Route::get('/main', function(){
    return App::make('HomeController')->index("Something");
});

但是当我调用URL&#34; main&#34;:

时,我收到错误
  

Container.php第719行中的ReflectionException:

     

类HomeController不存在

     

在Container.php第719行

     

在ReflectionClass-&gt; __ construct(&#39; HomeController&#39;)在Container.php第719行

     在Container.php第598行的Container-&gt; build(&#39; HomeController&#39;)

     

在Container-&gt;在Container.php第567行解析(&#39; HomeController&#39;)

     

在Container-&gt; make(&#39; HomeController&#39;)在Application.php第708行

     

在Application-&gt; make(&#39; HomeController&#39;)在Facade.php第221行

     

在Facade :: __ callStatic(&#39; make&#39;,array(&#39; HomeController&#39;))web.php第25行   在Route-&gt; {closure}()在Route.php第189行

有人可以告诉我我犯错的地方吗? 非常感谢!

1 个答案:

答案 0 :(得分:2)

您是否忘记在类名称前加上命名空间?

尝试:

Route::get('/main', function(){
    return App::make('App\Http\Controllers\HomeController')->index('Something');
});