2016-11-09 5 views
0

Я разрабатываю Lumen REST API для сайта ecom. Неожиданно мое приложение разбилось. Я обновил свой композитор и все прочее. Но я не могу найти, где ошибка. Но его показы только в файле контроллера.Lumen 5.3 маршрут не работает

Ошибка:

ReflectionException in Container.php line 749:Class App\Http\Controllers\App\Http\Controllers\SubcatController does not exist 

1. in Container.php line 749 
2. at ReflectionClass->__construct('App\Http\Controllers\App\Http\Controllers\SubcatController') in Container.php line 749 
3. at Container->build('App\Http\Controllers\App\Http\Controllers\SubcatController', array()) in Container.php line 644 
4. at Container->make('App\Http\Controllers\App\Http\Controllers\SubcatController', array()) in Application.php line 211 
5. at Application->make('App\Http\Controllers\App\Http\Controllers\SubcatController') in RoutesRequests.php line 680 
6. at Application->callControllerAction(array(true, array('uses' => 'App\Http\Controllers\App\Http\Controllers\[email protected]'), array())) in RoutesRequests.php line 647 
7. at Application->callActionOnArrayBasedRoute(array(true, array('uses' => 'App\Http\Controllers\App\Http\Controllers\[email protected]'), array())) in RoutesRequests.php line 632 
8. at Application->handleFoundRoute(array(true, array('uses' => 'App\Http\Controllers\App\Http\Controllers\[email protected]'), array())) in RoutesRequests.php line 529 
9. at Application->Laravel\Lumen\Concerns\{closure}(object(Request)) 
10. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
11. at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request)) in ExampleMiddleware.php line 30 
12. at ExampleMiddleware->handle(object(Request), object(Closure)) in Pipeline.php line 137 
13. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
14. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
15. at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request)) in Pipeline.php line 104 
16. at Pipeline->then(object(Closure)) in RoutesRequests.php line 782 
17. at Application->sendThroughPipeline(array('App\Http\Middleware\ExampleMiddleware'), object(Closure)) in RoutesRequests.php line 535 
18. at Application->dispatch(null) in RoutesRequests.php line 476 
19. at Application->run() in index.php line 28 

Пожалуйста, помогите мне.

ответ

1

Ваше пространство имен неправильно:

App \ Http \ Контроллеры \ App \ Http \ Контроллеры \ SubcatController

Убедитесь, что ваш контроллер именуется как:

<?php 
namespace App\Http\Controllers; 

// ...... 

class SubcatController extends Controller 
{ 

} 

В файле маршрута, вы можете сделать так:

Route::get('foo/bar', '[email protected]'); 
+0

Это только образец, но я получил эту ошибку –

+0

Да, я знаю, но проверьте информацию об ошибке. – schellingerht

+0

Хорошо, я буду работать над этим –

1

Не видя определения своего маршрута с такой ошибкой, похоже, что вы определяете пространство имен контроллера на маршруте. Lumen автоматически предполагает, что все ваши контроллеры находятся в App\Http\Controllers.

я должен считать, что вы делаете это:

$app->get('myroute', ['as' => 'my.route', 'uses' => 'App\Http\Controllers\SubcatController']); 

Когда он должен быть:

$app->get('myroute', ['as' => 'my.route', 'uses' => 'SubcatController']); 
+0

Я использовал этот маршрутизатор внутри группового приложения, так как я буду писать этот код –

+0

Если у вас есть пространство имен, определенное в этой группе, то удалите его и внутри этой группы вы определяете маршрут к контроллеру @method как '$ app-> get ('myroute', 'SubcatController @ mymethod')' –

0

$ app-> Get ('MyRoute', [ 'а' => 'my.route', 'использует' => 'SubcatController']);

Г-н Эрик Такер сказал, что этот код работает для меня.

Благодаря

1

Проверьте /bootstrap/app.php. Существует код:

$app->group(['namespace' => 'App\Http\Controllers'], function ($app) { 
    require __DIR__.'/../app/Http/routes.php'; 
}); 

Возможно ваш routes.php используется пространство имен 'App \ Http \ Контроллеры' тоже. Это дублируется. Удалите это пространство имен из ваших маршрутов. Php

Смежные вопросы