Для передачи значения из роута в привязку класса в Laravel, вы можете использовать биндинг контейнера (`Container Binding`).
Чтобы передать параметр `id` из маршрута в конструктор класса `Test` при биндинге в `AppServiceProvider`, вы можете использовать метод `bind()` контейнера следующим образом:
```php
use App\Test;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Route;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->bind(Test::class, function ($app) {
$id = Route::current()->parameter('id');
// Внимание: Это предполагает, что ваш роут принимает параметр id,
// например: Route::get('test/{id}', 'TestController@index');
return new Test($id);
});
}
}
```
Вы внедряете значение `id` из текущего маршрута в конструктор класса `Test` и возвращаете экземпляр класса `Test` для резолвинга зависимости.
Затем, при использовании привязки класса в контроллерах или других местах, Laravel будет использовать эту привязку и внедрять значение `id` из маршрута в конструктор класса `Test`.
Например, в вашем контроллере можете сделать следующее:
```php
namespace App\Http\Controllers;
use App\Test;
class TestController extends Controller
{
/**
* Display the specified resource.
*
* @param int $id
* @param Test $test
* @return \Illuminate\Http\Response
*/
public function show($id, Test $test)
{
// $id - значение из маршрута
// $test - экземпляр класса Test с переданным значением $id в конструктор
// Ваш код здесь ...
}
}
```
При выполнении ваших маршрутов, `id` из маршрута будет передан в конструктор класса `Test` благодаря привязке класса `Test` в `AppServiceProvider`.