我已将 Laravel 从v5.7更新到了v5.8,现在我的应用程序无法运行.
I have update Laravel from v5.7 to v5.8 and now my application doesn't run.
由于以下问题,我对其进行了更新:提交者需要rebing/graphql-laravel失败
I updated it because of this issue: composer require rebing/graphql-laravel fails
我解决了软件包不兼容的问题,但现在Laravel崩溃了:
I solved the packages incompatibility but now Laravel crashes:
$ php artisan serve In Router.php line 366: Argument 1 passed to Illuminate\Routing\Router::group() must be of the type array, string given, called in /var/www/masvino/Server-bak/vendor/laravel/framework/src/Illuminate/Support/Facades /Facade.php on line 239我怀疑Laravel的团队改变了这种方法的公司:
I suspect that the Laravel's team changed the firm of this method:
Illuminate \ Routing \ Router.php
/** * Create a route group with shared attributes. * * @param array $attributes * @param \Closure|string $routes * @return void */ public function group(array $attributes, $routes) // line 366 { $this->updateGroupStack($attributes); // Once we have updated the group stack, we'll load the provided routes and // merge in the group's attributes when the routes are created. After we // have created the routes, we will pop the attributes off the stack. $this->loadRoutes($routes); array_pop($this->groupStack); }这是我的 composer.json 文件的当前内容:
This is the current content of my composer.json file:
{ "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": [ "framework", "laravel" ], "license": "MIT", "type": "project", "require": { "php": "^7.1.3", "fideloper/proxy": "^4.0", "laravel/framework": "^5.8.0", "laravel/tinker": "^1.0", "mll-lab/laravel-graphql-playground": "^1.1.0", "nuwave/lighthouse": "^4.4.2", "spatie/laravel-cors": "^1.6", "webonyx/graphql-php": "^0.13.8", "rebing/graphql-laravel": "2.1.1" }, "require-dev": { "beyondcode/laravel-dump-server": "^1.0", "filp/whoops": "^2.0", "fzaninotto/faker": "^1.4", "mockery/mockery": "^1.0", "nunomaduro/collision": "^2.0", "phpunit/phpunit": "^7.0" }, "autoload": { "classmap": [ "database/seeds", "database/factories" ], "psr-4": { "App\\": "app/" } }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "extra": { "laravel": { "dont-discover": [], "providers": [ "Rebing\\GraphQL\\GraphQLServiceProvider" ], "aliases": { "GraphQL": "Rebing\\GraphQL\\Support\\Facades\\GraphQL" } } }, "scripts": { "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ], "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ] }, "config": { "preferred-install": "dist", "sort-packages": true, "optimize-autoloader": true }, "minimum-stability": "dev", "prefer-stable": true }我认为问题可能出在此文件中: app/Providers/RouteServiceProvider.php
I think the problem could be in this file: app/Providers/RouteServiceProvider.php
<?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')); } }现在不知道哪种group()方法正确的格式.有人可以帮我解决这个问题吗?预先感谢!
Don't know which is the correct format now for group() method. Can anybody help me figure this out? Thanks in advance!
推荐答案您可以仅在route/web.php中使用
You can just use in your routes/web.php
Route::group( ['prefix' => 'backend','middleware' => ['auth', 'admin']], function() {}更多推荐
在Router.php第366行中:传递给Illuminate \ Routing \ Router :: group()的参数1必须为数组类型,
发布评论