У меня есть несколько маршрутов, которые разрешают один метод контроллера. Я использую 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";
}
}