Считается ли плохой практикой использование объекта Route для получения параметров маршрута из метода контроллера? [Laravel] - PullRequest
1 голос
/ 08 апреля 2020

У меня есть несколько маршрутов, которые разрешают один метод контроллера. Я использую Route для получения параметров маршрута, поскольку Laravel передает параметры методу в порядке, в котором они определены. Хотя подход Route работает, он увеличивает сложность наших модульных тестов. Есть предложения?

<?php

// routes/api.php

$router->get('/test/{another_example_param}', ['uses' => 'ExampleController@show']);
$router->get('/test/{example_param}/thing/{another_example_param}', ['uses' => 'ExampleController@show']);
$router->get('/testing/{example_param}', ['uses' => 'ExampleController@show']);
<?php

// ExampleController.php

use Illuminate\Routing\Controller
use Illuminate\Routing\Route;

class ExampleController extends Controller {
  // Explicitly defining route parameters
  public function show(string $example_param, string $another_example_param) {
    echo "example param: $example_param";
    echo "another_example param: $another_example_param";
  }  

  // Extracting route params from Route approach
  public function showAlternate(Route $route) {
    $example_param = $route->example_param;
    $another_example_param = $route->another_example_param;

    echo "example param: $example_param";
    echo "another_example param: $another_example_param";    
  }  
}
...