流明框架路由不工作

ref*_*r99 12 php laravel lumen

我第一次使用Lumen框架,/到HomeController 的路由不起作用.

这是我的route.php:

$app->get('/', 'HomeController@index');
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

[2015-04-17 07:03:41] lumen.ERROR: exception 'ReflectionException' with message 'Class HomeController does not exist' in /Users/refear99/Web/qingsongchou_api/vendor/illuminate/container/Container.php:776

Stack trace:
#0 /Users/refear99/Web/qingsongchou_api/vendor/illuminate/container/Container.php(776): ReflectionClass->__construct('HomeController')
#1 /Users/refear99/Web/qingsongchou_api/vendor/illuminate/container/Container.php(656): Illuminate\Container\Container->build('HomeController', Array)
#2 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(358): Illuminate\Container\Container->make('HomeController', Array)
#3 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(1184): Laravel\Lumen\Application->make('HomeController')
#4 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(1157): Laravel\Lumen\Application->callControllerAction(Array)
#5 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(1142): Laravel\Lumen\Application->callActionOnArrayBasedRoute(Array)
#6 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(1120): Laravel\Lumen\Application->handleArrayBasedFoundRoute(Array)
#7 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(1058): Laravel\Lumen\Application->handleFoundRoute(Array)
#8 /Users/refear99/Web/qingsongchou_api/vendor/laravel/lumen-framework/src/Application.php(1006): Laravel\Lumen\Application->dispatch(NULL)
#9 /Users/refear99/Web/qingsongchou_api/public/index.php(28): Laravel\Lumen\Application->run()
#10 {main}  
Run Code Online (Sandbox Code Playgroud)

这是/ app/Http/Controllers /中的HomeController.php

<?php namespace App\Http\Controllers;

class HomeController extends Controller {

public function index()
{
    echo 123;
}

}
Run Code Online (Sandbox Code Playgroud)

问题是什么?

luk*_*ter 44

您必须使用完全限定的类名:

$app->get('/', 'App\Http\Controllers\HomeController@index');
Run Code Online (Sandbox Code Playgroud)

或者包装一个组中的所有路径(这实际上是在Laravel 5的引擎盖下完成的)

$app->group(['namespace' => 'App\Http\Controllers'], function($group){

    $group->get('/', 'HomeController@index');
    $group->get('foo', 'FooController@index');

});
Run Code Online (Sandbox Code Playgroud)

  • 如果Lumen在其官方文件中的任何地方都指明了这一点,那就太好了. (3认同)