2017-01-26 4 views
0

модернизированного от 5,1 до 5,3, а затем всех инструкций ... https://laravel.com/docs/5.3/upgrade#upgrade-5.3.0обновление до Laravel 5.3 - проблем с Маршрутом :: префикса

Теперь я получаю

BadMethodCallException in Macroable.php line 74: 
Method prefix does not exist. 
in Macroable.php line 74 
at Router->__call('prefix', array('api')) in Facade.php line 237 
at Facade::__callStatic('prefix', array('api')) in RouteServiceProvider.php line 58 
at RouteServiceProvider->mapApiRoutes() in RouteServiceProvider.php line 32 
at RouteServiceProvider->map() 
at call_user_func_array(array(object(RouteServiceProvider), 'map'), array()) in Container.php line 508 
at Container->call(array(object(RouteServiceProvider), 'map')) in RouteServiceProvider.php line 69 
at RouteServiceProvider->loadRoutes() in RouteServiceProvider.php line 30 
at RouteServiceProvider->boot() in RouteServiceProvider.php line 23 
at RouteServiceProvider->boot() 
at call_user_func_array(array(object(RouteServiceProvider), 'boot'), array()) in Container.php line 508 
at Container->call(array(object(RouteServiceProvider), 'boot')) in Application.php line 769 
at Application->bootProvider(object(RouteServiceProvider)) in Application.php line 752 
at Application->Illuminate\Foundation\{closure}(object(RouteServiceProvider), '16') 
at array_walk(array(object(EventServiceProvider), object(RoutingServiceProvider), object(AuthServiceProvider), object(CookieServiceProvider), object(DatabaseServiceProvider), object(EncryptionServiceProvider), object(FilesystemServiceProvider), object(FoundationServiceProvider), object(PaginationServiceProvider), object(SessionServiceProvider), object(ViewServiceProvider), object(NotificationServiceProvider), object(AppServiceProvider), object(AuthServiceProvider), object(ConfigServiceProvider), object(EventServiceProvider), object(RouteServiceProvider), object(DatabaseServiceProvider), object(BraintreeServiceProvider), object(BroadcastServiceProvider), object(FlashServiceProvider), object(ExcelServiceProvider), object(CashierServiceProvider), object(EntrustServiceProvider), object(AnalyticsServiceProvider), object(JWTAuthServiceProvider), object(ApidocsServiceProvider), object(ServiceProvider), object(GeoIPServiceProvider), object(PdfServiceProvider), object(LaravelPhoneServiceProvider)), object(Closure)) in Application.php line 753 
at Application->boot() in BootProviders.php line 17 
at BootProviders->bootstrap(object(Application)) in Application.php line 203 
at Application->bootstrapWith(array('Illuminate\Foundation\Bootstrap\DetectEnvironment', 'Illuminate\Foundation\Bootstrap\LoadConfiguration', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades', 'Illuminate\Foundation\Bootstrap\RegisterProviders', 'Illuminate\Foundation\Bootstrap\BootProviders')) in Kernel.php line 254 
at Kernel->bootstrap() in Kernel.php line 145 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117 
at Kernel->handle(object(Request)) in index.php line 52 
  • побежал композитор свалку -autoload
  • прошло обновление композитора (только для того, чтобы получить последние и самые большие)
  • что еще я могу сделать?

Код RouteServiceProvider - это точная копия с laravel. не уверен, почему он не загружается! метод не распознается, но я вижу его в классе Router.

{ "имя": "Laravel/Laravel", "Описание": "The Laravel Framework.", "ключевые слова": [ "структура", "Laravel"], "лицензия": «MIT " "типа": "проект", "требуют": { "Laravel/рамки": "5,3 ", "laravelcollective/html.": "~ 5,0", "laracasts/вспышка":" ~ 1.3 ", " maatwebsite/excel ":" ~ 2.1 ", " guzzlehttp/guzzle ":" ~ 6.2 ", " doctrine/dbal ":" ~ 2.5 ", " laravel/cashier ":" ~ 7.0 ", " лига/flysystem-aws -s3-v3 ":" ~ 1.0 ", " zizaco/entrust ":" 1.7.0 ", " barryvdh/laravel-ide-helper ":"^2.2 ", " blueimp/jquery-file-upload " : "^ 9.14", "ipunkt/laravel-analytics": "^ 1.3", "braintree/braintree_php": "^ 3.21", "tymon/jwt-auth": "0.5. " " f2m2/apidocs": "~ 2.0", " barryvdh/Laravel-CORS": "0,8 *", "pulkitjalan/GeoIP.": "~ 2.4"," AWS/AWS-sdk- php-laravel ":"^3.1 ", " vsmoraes/laravel-pdf ":"^1.0 ", " propaganistas/laravel-phone ":"^2.8 ", " activecampaign/api-php ":" ~ 2.0 " }, "требует-DEV": { "PHPUnit/PHPUnit": "~ 4.0", "phpspec/phpspec": "~ 2.1", "ozankurt/repoist": "^ 1.0", " symfony/dom-crawler ":" ~ 3.1 ", " symfony/css-selector ":" ~ 3.1 " }, " автозагрузка ": { "classmap": [ "база данных" ], "PSR-4": { "APP \": "приложение /" } }, "автозагрузка-DEV": { "classmap": [ "тесты/TestCase.php" ] }, "скрипты": { "пост-корневой пакет установить": [ "PHP -r \" file_exists ('окр') || copy ('. env.example', '.окр '); \ "" ], "после создания-проект-ЦМД": [ "ключ PHP ремесленник: генерировать" ], "послеустановочным-CMD": [ «Осветите \ Foundation \ ComposerScripts :: постустановочный " "PHP ремесленник оптимизирует" ], "после обновления-CMD": [ "Осветите \ Foundation \ ComposerScripts :: postUpdate", "PHP ремесленник оптимизирует" ] }, " конфигурация ": { " Предпочтительная установка ":" dist " } }

RouteServiceProvider

<?php 
namespace App\Providers; 
use Illuminate\Support\Facades\Route; 
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; 
class RouteServiceProvider extends ServiceProvider 
{ 
    /** 
    * This namespace is applied to your controller routes. 
    * 
    * In addition, it is set as the URL generator's root namespace. 
    * 
    * @var string 
    */ 
    protected $namespace = 'App\Http\Controllers'; 
    /** 
    * Define your route model bindings, pattern filters, etc. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     // 
     parent::boot(); 
    } 
    /** 
    * Define the routes for the application. 
    * 
    * @return void 
    */ 
    public function map() 
    { 
     $this->mapApiRoutes(); 
     $this->mapWebRoutes(); 
     // 
    } 
    /** 
    * Define the "web" routes for the application. 
    * 
    * These routes all receive session state, CSRF protection, etc. 
    * 
    * @return void 
    */ 
    protected function mapWebRoutes() 
    { 
     Route::middleware('web') 
      ->namespace($this->namespace) 
      ->group(base_path('routes/web.php')); 
    } 
    /** 
    * Define the "api" routes for the application. 
    * 
    * These routes are typically stateless. 
    * 
    * @return void 
    */ 
    protected function mapApiRoutes() 
    { 
     Route::prefix('api') 
      ->middleware('api') 
      ->namespace($this->namespace) 
      ->group(base_path('routes/api.php')); 
    } 
} 

другой тест я сменил префикс и промежуточные вызовы и получил эту ошибку ...

обмениваемого ORDER

protected function mapApiRoutes() 
{ 
    Route::middleware('api')->prefix('api') 
     ->namespace($this->namespace) 
     ->group(base_path('routes/api.php')); 
} 

ОШИБКА

FatalThrowableError in Router.php line 859: 
Type error: Too few arguments to function Illuminate\Routing\Router::middleware(), 1 passed in /var/www/vhosts/camp-native/API-v.2-master/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 237 and exactly 2 expected 
in Router.php line 859 
at Router->middleware('api') in Facade.php line 237 
at Facade::__callStatic('middleware', array('api')) in RouteServiceProvider.php line 58 
at RouteServiceProvider->mapApiRoutes() in RouteServiceProvider.php line 32 
at RouteServiceProvider->map() 
at call_user_func_array(array(object(RouteServiceProvider), 'map'), array()) in Container.php line 508 
at Container->call(array(object(RouteServiceProvider), 'map')) in RouteServiceProvider.php line 69 
at RouteServiceProvider->loadRoutes() in RouteServiceProvider.php line 30 
at RouteServiceProvider->boot() in RouteServiceProvider.php line 23 
at RouteServiceProvider->boot() 
at call_user_func_array(array(object(RouteServiceProvider), 'boot'), array()) in Container.php line 508 
at Container->call(array(object(RouteServiceProvider), 'boot')) in Application.php line 769 
at Application->bootProvider(object(RouteServiceProvider)) in Application.php line 752 
at Application->Illuminate\Foundation\{closure}(object(RouteServiceProvider), '16') 
at array_walk(array(object(EventServiceProvider), object(RoutingServiceProvider), object(AuthServiceProvider), object(CookieServiceProvider), object(DatabaseServiceProvider), object(EncryptionServiceProvider), object(FilesystemServiceProvider), object(FoundationServiceProvider), object(PaginationServiceProvider), object(SessionServiceProvider), object(ViewServiceProvider), object(NotificationServiceProvider), object(AppServiceProvider), object(AuthServiceProvider), object(ConfigServiceProvider), object(EventServiceProvider), object(RouteServiceProvider), object(DatabaseServiceProvider), object(BraintreeServiceProvider), object(BroadcastServiceProvider), object(FlashServiceProvider), object(ExcelServiceProvider), object(CashierServiceProvider), object(EntrustServiceProvider), object(AnalyticsServiceProvider), object(JWTAuthServiceProvider), object(ApidocsServiceProvider), object(ServiceProvider), object(GeoIPServiceProvider), object(PdfServiceProvider), object(LaravelPhoneServiceProvider)), object(Closure)) in Application.php line 753 
at Application->boot() in BootProviders.php line 17 
at BootProviders->bootstrap(object(Application)) in Application.php line 203 
at Application->bootstrapWith(array('Illuminate\Foundation\Bootstrap\DetectEnvironment', 'Illuminate\Foundation\Bootstrap\LoadConfiguration', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades', 'Illuminate\Foundation\Bootstrap\RegisterProviders', 'Illuminate\Foundation\Bootstrap\BootProviders')) in Kernel.php line 254 
at Kernel->bootstrap() in Kernel.php line 145 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117 
at Kernel->handle(object(Request)) in index.php line 52 
+0

Я тоже сталкиваюсь с точно таким же вопросом в данный момент, я повышен с 5,1 до 5,2, он работал нормально с очень небольшими пятнами, то я должен был обновить его до 5.3, после чего есть некоторые вопросы, и это, кажется, первые , Любая удача для вас ?? – BlackBurn027

ответ

2

Эта ссылка является обновлением с 5.2 до 5.3, поэтому вам также может потребоваться также проверить 5.1 на 5.2.

Похоже, что это могут быть маршруты API и промежуточное ПО, которые отсутствуют. На этой ссылке обновления вы должны посмотреть на API и раздел с исм к:

'api' => [ 
    'throttle:60,1', 
    'bindings', 
], 

и внутри app/Providors/RouteServiceProvider ваши ищут somethign как:

protected function mapApiRoutes() 
     { 
      Route::prefix('api') 
      ->middleware('api') 
      ->namespace($this->namespace) 
      ->group(base_path('routes/api.php')); 
    } 

Надеется, что это помогает, и может быть ключом?

+0

ссылка на все обновления, просто нужно прокрутить вниз;) – Artistan

+0

i следовали всем инструкциям, а маршруты api определены как подробные. Любые другие идеи? – Artistan

+2

Собирайте App \ Providers \ RouteServiceProvider :: class, в списке профайлов config/app.php? также вы можете добавить весь RouteServiceProvider в свой вопрос, чтобы мы могли проверить новую установку, так как я иногда проверяю и т.д. –