Yol, tətbiqiniz üçün sorğu URL-i yaratmaq üçün bir yoldur. Bu URL-lərin vebsaytdakı xüsusi fayllarla əlaqələndirilməsinə ehtiyac yoxdur və insanlar tərəfindən oxuna bilən və SEO dostudur.
Laraveldə yollar le qovluğunda yaradılır routes
. Onlar faylda yaradılmışdır web.php
vebsaytlar üçün və daxilində api.php
API-lər üçün.
Bunlar route
qrupa təyin olunurlar middleware
seans statusu və təhlükəsizliyi vurğulayan şəbəkə CSRF
. Daxil olan marşrutlar route/api.php
onlar vətəndaşlığı olmayandır və API ara proqram qrupuna təyin edilir.
Əvvəlcədən quraşdırmadefiLaravel nita biri veb, digəri API üçün iki yol ilə gəlir. Veb üçün yol belə görünür web.php
:
Route::get('/', function () {
return view('welcome');
});
Bütün Laravel yolları var definiti qovluğunda yerləşən yol fayllarında routes
. Marşrut idarəetmə tətbiqi, defifaylda qeyd olunub App\Providers\RouteServiceProvider
, bu faylların avtomatik sıralanmasına diqqət yetirir. Fayl route/web.php
defiveb-interfeysiniz üçün yolları müəyyənləşdirir.
Bu mümkündür defibu nəzarətçi hərəkəti üçün yolu aşağıdakı kimi təyin edin:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: üsul Route::resource
proqram üçün tələb olunan bütün əsas yolları istehsal edir və nəzarətçi sinfi vasitəsilə idarə olunur.
Sorğu müəyyən edilmiş marşrut URI-yə uyğun olduqda, metod işə salınır show
definəzarətçidə tamamlandı App\Http\ControllersUserController
, marşrut parametrlərinin metoda ötürülməsi.
Resurslar üçün tətbiqdə iki şey etməlisiniz Laravel. Əvvəlcə resurs yolunu yaratmalısınız Laravel daxil etmək, yeniləmək, baxmaq və silmək yollarını təmin edir. İkincisi, daxil etmək, yeniləmək, baxmaq və silmək üçün bir üsul təmin edən resurs nəzarətçisi yaradın.
Əvvəlcədən quraşdırmadefiLaravel nita iki yolla gəlir: biri veb, digəri API üçün. Vebə gedən marşrut web.php-də belə görünür:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Laravel Middleware sorğu ilə reaksiya arasında körpü rolunu oynayır. Bir növ filtr komponenti ola bilər.
Laravel ilə işləmək orta proqram müştəri müraciətinin yoxlanılıb-yoxlanılmadığını təsdiqləmək vəzifəsi olan. Müştəri təsdiq edildikdə, marşrutlaşdırma əsas səhifəyə və ya giriş səhifəsinə yönləndirilir.
route
Əvvəlki kod defiana səhifəyə yol açır. Hər dəfə bu marşruta sorğu gələndə get
üçün /
, qaytaracaq view
welcome
.
Bütün Laravel yolları var definiti sizin routing
, dei kataloqunun daxilində yerləşir routes
. Nəticədə, l'AppProvidersRouteServiceProvider
tətbiqin bu qeydləri sıralayır. Fayl route/web.php
veb interfeysiniz üçün idarə olunan marşrutları ehtiva edir.
Yolun quruluşu çox sadədir. Müvafiq faylı açın (`web.php
` o `api.php
` ) və kod xəttini ilə başlayın `Route:: `
, ardınca həmin xüsusi marşruta təyin etmək istədiyiniz sorğu və sorğudan sonra yerinə yetiriləcək funksiyanı təyin edin.
Laravel aşağıdakı yol üsullarını təklif edir:
get
post
put
delete
patch
options
Yollar var defiLaravel-də HTTP ilə Route sinfi, cavab veriləcək və bağlanacaq marşrut və ya nəzarətçi.
Laravel-də öz yollarınızı necə yarada biləcəyinizi görək.
İndi mən 2-nin vaxt cədvəlini çap edəcək əsas yol yaradacağam.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Yuxarıdakı kodda URL üçün GET sorğu yolunu yaratdım /table
, ekranda 2-nin vaxt cədvəlini çap edəcək.
İndi vurma cədvəlini istədiyimiz nömrəni parametrləşdirərək eyni kodu görək:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
kodda 'number
' mötərizələr arasında parametr, yəni vurma cədvəlinin hesablanacağı nömrəni ifadə edir. Növün URL-i müəyyən edildikdə /table/n
, sonra nömrə cədvəli çap olunacaq n
.
Hər iki xüsusiyyəti bir yolda birləşdirməyin yolu da var. Laravel '?' sual işarəsindən istifadə edərək əlavə parametrlər əlavə etməyə imkan verən əlavə parametrlər funksiyasını təklif edir. isteğe bağlı parametrdən və ilkin dəyərdən sonradefigecə. Nümunəyə baxaq:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Yuxarıdakı kodda biz marşrut parametrimizi yaratdıq, nömrəni istəyə görə etdik, buna görə də istifadəçi marşrutlaşdırarsa `/table
` onda defolt olaraq 2 cədvəlini yaradacaqdefinite və əgər istifadəçi `-ə yönləndirirsə/table/{number}
Sonra nömrə cədvəli 'number'
istehsal olunacaq.
Əvvəlki misalda vurma cədvəlini yaratmaq üçün yol yaratdıq, lakin vurma cədvəlini yaradan zaman xətalara yol verməmək üçün yolun parametrinin əslində ədəd olmasını necə təmin edə bilərik?
Laraveldə edə bilərsiniz defi` metodundan istifadə edərək marşrut parametrinə məhdudiyyət qoyunwhere
` marşrut nümunəsində. The `where
` həmin parametr üçün parametrin adını və müntəzəm ifadəsini qəbul edir.
İndi ` parametrimiz üçün məhdudiyyət nümunəsinə baxaq{numero}
` funksiyaya yalnız nömrənin ötürüldüyünə əmin olmaq üçün.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
Yuxarıdakı kodda yol nömrəsi üçün müntəzəm ifadədən istifadə etdik. İndi bir istifadəçi marşrutlaşdırmağa çalışarsa /cədvəl/no nümayiş olunacaq NotFoundHttpException istisnası.
Laraveldə edə bilərsiniz defibir yol üçün Nəzarətçi metodu. Nəzarətçi metodu bütün hərəkətləri yerinə yetirir defiistifadəçi hər dəfə marşruta daxil olduqda.
Aşağıdakı kodla biz nəzarətçi metodunu təyin edirik 'functionname'
marşruta:
Route:: get ( '/home' , 'YourController@functionname' ) ;
Kod ilə başlayır `Route::`
və buna görə də defiyol üçün sorğu metodunu təmin edir. Sonradan, defiMetod adından əvvəl @ simvolu əlavə edərək, yolunuzu və nəzarətçinizi metodla birlikdə tamamlayın.
Laraveldə edə bilərsiniz defiyolunuza bir ad verin. Bu ad çox vaxt çox faydalıdır. Məsələn, bir istifadəçini bir yerdən digərinə yönləndirmək istəyirsinizsə, buna ehtiyac yoxdur defitam yönləndirmə URL-ni əldə edin. Sadəcə adını verə bilərsiniz. Bacararsan defi` metodundan istifadə edərək marşrutun adını yazınname
` marşrut nümunəsində.
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
})->where('number', '[0-9]+')->name(‘table’);
İndi mən bu yol üçün url-i aşağıdakı kod vasitəsilə bərpa edə bilərdim:
$url = route('table');
Eynilə, bu URL-ə yönləndirmə üçün düzgün sintaksis belə olardı:
return redirect()->route('table');
Route Groups
I Route Groups
, sözün əsl mənasında yol qrupları, Laravel-də yolları qruplaşdırmağa imkan verən vacib xüsusiyyətdir. Bütün qruplaşdırılmış yollara atributları tətbiq etmək istədiyiniz zaman yol qrupları faydalıdır. Əgər yol qruplarından istifadə edirsinizsə, atributları hər bir yola ayrı-ayrılıqda tətbiq etmək lazım deyil; bu təkrarlamanın qarşısını alır. kimi atributları paylaşmağa imkan verir middleware
o namespaces
, olmadan defibu atributları hər bir fərdi yolda bitirin. Bu paylaşılan atributlar metoda ilk parametr kimi massiv formatında ötürülə bilər Route::group
.
Marşrut qrupunun sintaksisi
Route::group([], callback);
göyərçin []: birinci parametr kimi qrup metoduna ötürülən massivdir.
Məsələn Route Group
ilə web.php
Route::group([], function()
{
Route::get('/first' , function()
{
echo "first way route" ;
});
Route::get('/second' , function()
{
echo "second way route" ;
});
Route::get('/third' , function()
{
echo "third way route" ;
});
});
Kodda, defiüsulunu tapaq qrup(), iki parametri ehtiva edən, yəni array
e closure
. İçəridə closure
, Biz bacarırıq defineçə bitir route
Biz istəyirik. Yuxarıdakı kodda bizdə var defiüçü tamamladı route
.
Əgər brauzer vasitəsilə biz URL-ə daxil oluruq localhost/myproject/first
sonra birincisi müdaxilə edir route
brauzerdə yazın first way route
.
URL ilə localhost/myproject/second
sonra ikincisi gəlir route
brauzerdə yazın second way route
.
URL ilə ikən localhost/myproject/third
sonra üçüncü gəlir route
brauzerdə yazın third way route
.
Route Groups
prefiksləri route
onlar çoxlu ümumi URL strukturunu təmin etmək istədikdə istifadə olunur route
.
Biz bütün yollar üçün prefiksi təyin edə bilərik defiprefiks massivi seçimindən istifadə edərək qrup daxilində nites Route Groups
.
Məsələn web.php
Route::group(['prefix' => 'movie'], function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
Kod aşağıdakı URL-lərdən əldə edilə bilən üç yoldan ibarətdir:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Biz həmçinin qrup daxilində bütün marşrutlara ara proqram təyin edə bilərik. Ara proqram olmalıdır defiqrupu yaratmazdan əvvəl tamamlandı. Bunu necə edəcəyinizi öyrənmək üçün məqaləmizi oxuyun Laravel ara proqramı necə işləyir.
Misal:
Route::middleware(['age'])->group( function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
Metod name
hər adının prefiksi üçün istifadə olunur route
müəyyən bir sətir ilə. Metodda name
, prefiksdə arxada gələn simvolu olan sətri təyin etməliyik.
misal web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Coveware by Veeam kiber qəsb hallarına cavab xidmətləri göstərməyə davam edəcək. Coveware məhkəmə və remediasiya imkanları təklif edəcək...
Proqnozlaşdırılan texniki xidmət zavodun idarə edilməsinə innovativ və proaktiv yanaşma ilə neft və qaz sektorunda inqilab edir.…
Böyük Britaniyanın CMA süni intellekt bazarında Big Tech-in davranışı ilə bağlı xəbərdarlıq edib. Orada…
Avropa İttifaqı tərəfindən binaların enerji səmərəliliyini artırmaq üçün tərtib edilən "Yaşıl Evlər" Fərmanı qanunvericilik prosesini yekunlaşdırdı ...