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.