Laravel Route İşlemleri
Basit Route
- get
- post
- view çağırma
- controller çağırma
myProject/routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Ornek;
/* 1.)
localhost:8000/deneme
url get methodu ile açıldığında ekrana 'bu bir deneme sayfasıdır' yazdırır.
*/
Route::get('deneme', function(){
echo 'bu bir deneme sayfasıdır';
});
/* 2.)
localhost:8000/deneme2
url get methodu ile açıldığında ekrana myProject\resources\views\
içinde oluşturulan deneme2.blade.php sayfası açılacaktır.
view() komutu views klasoru içinde bulunan blade şablonlarını açar.
*/
Route::get('deneme2', function(){
return view('deneme2');
});
/* 3.)
localhost:8000/testsayfasi
Laravel controller dosyası oluşturmak console ekranına aşağıdaki komutu yazıyoruz.
console:php artisan make:controller Ornek
myproject\app\Http\Controllers\Ornek
Ornek.php içine public bir "test" adında method tanımlıyoruz.
url post methodu ile açıldığında Ornek.php içindeki test methoduna çağırır.
*/
Route::post('/testsayfasi',[Ornek::class,test]); //laravel 8 ile gelen routelama yöntemi.
/* 3.)
localhost:8000/testsayfasi
myproject\app\Http\Controllers\Ornek
Ornek.php içine public bir "test2" adında method tanımlıyoruz.
methodun içine $isim değişkenini tanımlıyoruz. public test2($test){ view('deneme2',['ad'=>$isim]); }
url get methodu ile açıldığında Ornek.php içindeki test2 methoduna çağırır.
*/
Route::get('/testsayfasi/{isim}',[Ornek::class,test2]); //laravel 8 ile gelen routelama yöntemi.
?>
Detaylı Route
- Route get methodu
- Route post methodu
- Route put methodu
- Route delete methodu
- Route match methodu
- Route any methodu
- Route prefix methodu.
//*basit get route çağrımı
//Route::get('test',function(){
// dd('test');
//});
//*Birden fazla request methodunu çağırmak için.
Route::match(['get','post'],'test','HomeController@test');
//*Put ve Delete methodunun kullanımı örnek
Route::put('/test','Homecontroller@update')->name('update');
Route::get('/delete','Homecontroller@getdelete')->name('delete');
Route::delete('/delete','Homecontroller@delete')->name('delete');
//*Tüm istekleri karşılıyan method
Route::any('test-any','HomeController@anyTest')->name('test-any');
//*consoledan bu şekilde oluşturunca bize hem methodları hemde routeları da oluşturuyor
//*only diyerek index ve create rotları kullanabiliriz.
//*except yapınca index ve create hariç diğerlerini kullan diye biliriz.
//Route::resource('posts','PostController')->only('index','create');
//php artisan make:controller PostController --resource
//* Urlden parametre almak
//id nin yanındaki soru işareti parametre gelebilir gelmeyede bilir demek.
Route::get('/post/{lang}/{id?}','PostController@getPost');
//*Grouplama prefix işlemleri
Route::prefix('admin')->middleware('auth')->group(function(){
Route::get('/','AdminController@index')->name('admin.index');
});
//* Gelen değeri hem request den alabiliriz hemde route belirtiğimiz değişken adı ilede alabiliriz., sırasının bir önemi var route daki sıra ile aynı olmaldır.
//* eğer route id soru işareti verirsek static bir değer vermemiz lazım.
public function getPost(Request $request,$lang,$id=null)
{
dd($request->lang);
dd($id);
}
<form action="{{route('update')}}" method="POST">
@csrf
//formdan put olarak gönderme yöntemleri.<br>
@method('PUT')
{{method_field('PUT')}}
<input type="hidden" name="_method" value="PUT">
<input type="text" name="name" value="TEST">
<input type="submit" class="submit" value="g">
</form>