【问题标题】:package -> controller -> route does not work, redirects to home page包 -> 控制器 -> 路由不起作用,重定向到主页
【发布时间】:2018-08-16 17:51:28
【问题描述】:

我创建了一个 Laravel 包并按照 Laravel 文档设置了所有内容,但问题是与 Controller 相关的 route 无法正常工作。它重定向到home,而不是route 中的给定路径。 route 也显示在 route:list 中,但是它不起作用。不知道为什么!

打包路由文件:

Route::get('calculator', function(){
    echo 'Hello from the package route file package!';
});

Route::get('add/{a}/{b}', 'Devdojo\Calculator\CalculatorController@add');

Route::get('subtract/{a}/{b}', 'Devdojo\Calculator\CalculatorController@subtract');

其中route calculator 工作正常,它显示正确的输出,其中add/5/2subtract/5/2 被重定向到主页。

route:list 文件

如果您查看上面的图像方法,根据中间件在auth 下添加和减去两个寄存器

计算器控制器:

 <?php
namespace Devdojo\Calculator;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class CalculatorController extends Controller
{
    //
    public function add($a, $b){
        echo $a + $b;
    }

    public function subtract($a, $b){
        echo $a - $b;
    }
}

【问题讨论】:

  • 我们需要查看控制器代码。

标签: laravel routes package packages laravel-routing


【解决方案1】:

您的代码看起来不错。您有一个中间件附加到重定向到主页的路由。

    Route::get('calculator', function(){
    echo 'Hello from the package route file package!';
});

Route::get('add/{a}/{b}', 'Devdojo\Calculator\CalculatorController@add');

Route::get('subtract/{a}/{b}', 'Devdojo\Calculator\CalculatorController@subtract');

每当您对包进行更改时,您都必须这样做

composer dump-autoload

中间件以某种方式连接到您的控制器,使用以下 sn-p 删除 middleware

class CalculatorController extends Controller
{
    //

    public function add($a, $b){
        echo $a + $b;
    }

    public function subtract($a, $b){
        echo $a - $b;
    }
}

希望对你有帮助

【讨论】:

  • 抱歉 composer dump-autoload 没有帮助我。
  • @HirenMangukiya 嘿,你在这条路线上有中间件
  • 它是auth middelware,如何从我的package route 中删除它
  • 在你的基本控制器中可能有一个中间件
  • 假设用户在安装包之前添加更多 middleware 那么我该如何处理它。
猜你喜欢
  • 2019-02-01
  • 2016-12-14
  • 2016-10-10
  • 1970-01-01
  • 2015-10-17
  • 1970-01-01
  • 2019-01-19
  • 2016-11-27
  • 1970-01-01
相关资源
最近更新 更多