parametro url - laravel

Nov 04 2020

i nostri utenti accedono al nostro sito con un parametro univoco sull'url. cioèhttp://example.com/hire-agreement?u=unique_param

Ho impostato un percorso per una vista -

Route::get('/hire-agreement', function () {
    return view('hire-agreement');
});

Ho 2 domande.

  1. Devo aggiungere qualcos'altro al percorso per consentire la lettura del parametro nella vista?
  2. Come leggo questo valore di parametro nella vista? Posso usare $_GET["name"])?

grazie Craig.

Risposte

2 zahidhasanemon Nov 04 2020 at 17:19

non hai bisogno di altro nella sezione url. e per usare o ottenere il parametro url usa l'helper laravel request () .

$value = request('key');

in vista è possibile stampare una chiave come

{{ request('name') }}

esempio completo per te utilizzando l'helper di richiesta

Route::get('/hire-agreement', function () {
    $name = request('name'); //put the key in a variable
    return view('hire-agreement', compact('name')); //send the variable to the view
});

e quindi in vista puoi usare la variabile come

{{ $name }}

se non vuoi usare una variabile puoi usare direttamente request helper in view

{{ request('name') }}

puoi usare anche la classe Request.

Route::get('/hire-agreement', function (Request $request) {
    $name = $request->name;
    return view('hire-agreement', compact('name'));
});

tuttavia ti suggerirei di utilizzare un controller. non utilizzare la chiusura nel file di percorso. non puoi metterli in cache quando necessario.

2 KamleshPaul Nov 04 2020 at 17:24

http://example.com/hire-agreement?u=unique_param

in laravel puoi accedere a entrambi poste getpuoi accedervi tramite Requestistanza di classe o request()helper, così puoi farlo

con richiesta di aiuto ()

Route::get('/hire-agreement', function () {
    dd(request('u')) //  this getting from url ?u=unique_param this u param
    return view('hire-agreement');
});

con Class Request o

Route::get('/hire-agreement', function (Request $request) { dd($request->u)) //  this getting from url ?u=unique_param this u param
    return view('hire-agreement');
});

qui si può

1 AxissXs Nov 04 2020 at 17:57

Faresti meglio a passare la richiesta a un controller e gestirla lì, è più facile e più pulito in questo modo. Tuttavia, se vuoi passare direttamente dal percorso alla visualizzazione, è meglio utilizzare il metodo seguente. mettilo nel tuo file di rotta

Route::get('/hire-agreement/{param}', function ($param) { return view('hire-agreement')->with($param);
});

nella vista puoi accedere al parametro in questo modo

<p>{{$param}}</p>

ora se l'utente richiede "/ Hire-agreement / 1234" il tuo $ param nella vista conterrà 1234, Inoltre se vuoi accedere ai parametri di get nell'URL puoi farlo in questo modo

{{Request::input('q')}}