包 - >控制器 - >路线不起作用,重定向到主页

时间:2018-03-08 11:30:52

标签: laravel routes package packages laravel-routing

我根据Laravel文档创建了一个Laravel包并设置了所有内容,但问题是与route相关的Controller无法正常工作。它会重定向到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档案 enter image description here

如果您查看上面的图像方法,根据中间件

auth下添加和减去两个寄存器

CalculatorController:

 <?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;
    }
}

1 个答案:

答案 0 :(得分:0)

您的代码似乎很好。您有一个中间件附加到重定向到主页的路由。

    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

以某种方式,中间件附加到您的控制器使用以下代码段来移除middleware

class CalculatorController extends Controller
{
    //

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

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

希望这有帮助