Laravel - Yönlendirmeler

Adlandırılmış rota, bir rotaya belirli bir ad vermek için kullanılır. İsim, kullanılarak atanabilir“as” dizi anahtarı.

Route::get('user/profile', ['as' => 'profile', function () {
   //
}]);

Note - Burada ismini verdik profile bir rotaya user/profile.

Adlandırılmış Rotalara Yönlendirme

Misal

Adlandırılmış rotalara yeniden yönlendirme hakkında daha fazla bilgi edinmek için aşağıdaki örneği inceleyin -

Step 1 - test.php adlı bir görünüm oluşturun ve şuraya kaydedin

resources/views/test.php.

<html>
   <body>
      <h1>Example of Redirecting to Named Routes</h1>
   </body>
</html>

Step 2 - İçinde routes.phpiçin rotayı belirledik test.phpdosya. Olarak yeniden adlandırdıktesting. Ayrıca başka bir rota belirledikredirect bu, isteği adlandırılmış rotaya yönlendirecek testing.

app/Http/routes.php

Route::get('/test', ['as'=>'testing',function() {
   return view('test2');
}]);

Route::get('redirect',function() {
   return redirect()->route('testing');
});

Step 3 - Adlandırılmış yol örneğini test etmek için aşağıdaki URL'yi ziyaret edin.

http://localhost:8000/redirect

Step 4 - Yukarıdaki URL'nin çalıştırılmasından sonra, adlandırılmış rotaya yeniden yönlendirilirken http: // localhost: 8000 / test adresine yönlendirileceksiniz. testing.

Step 5 - URL'nin başarılı bir şekilde yürütülmesinden sonra, aşağıdaki çıktıyı alacaksınız -

Denetleyici Eylemlerine Yönlendirme

Sadece rota değil, aynı zamanda kontrolcü eylemlerine de yeniden yönlendirebiliriz. Yalnızca denetleyiciyi veactionaşağıdaki örnekte gösterildiği gibi eylem yöntemine. Bir parametreyi iletmek istiyorsanız, bunu eylem yönteminin ikinci argümanı olarak iletebilirsiniz.

return redirect()->action(‘NameOfController@methodName’,[parameters]);

Misal

Step 1 - adlı bir denetleyici oluşturmak için aşağıdaki komutu yürütün RedirectController.

php artisan make:controller RedirectController --plain

Step 2 - Başarılı bir yürütmeden sonra, aşağıdaki çıktıyı alacaksınız -

Step 3 - Aşağıdaki kodu dosyaya kopyalayın

app/Http/Controllers/RedirectController.php.

app/Http/Controllers/RedirectController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class RedirectController extends Controller {
   public function index() {
      echo "Redirecting to controller's action.";
   }
}

Step 4 - Aşağıdaki satırları ekleyin app/Http/routes.php.

app/Http/routes.php

Route::get('rr','RedirectController@index');
Route::get('/redirectcontroller',function() {
   return redirect()->action('RedirectController@index');
});

Step 5 - Örneği test etmek için aşağıdaki URL'yi ziyaret edin.

http://localhost:8000/redirectcontroller

Step 6 - Çıktı aşağıdaki resimde gösterildiği gibi görünecektir.