דער דרך איז אַ וועג צו שאַפֿן אַ בקשה URL פֿאַר דיין אַפּלאַקיישאַן. די URL ס טאָן ניט דאַרפֿן צו זיין פֿאַרבונדן מיט ספּעציפיש טעקעס אויף אַ וועבזייטל און זענען ליינעוודיק פֿאַר מענטשן און סעאָ פרייַנדלעך.
אין Laravel, פּאַטס זענען באשאפן ין דער טעקע טעקע routes
. זיי זענען באשאפן אין דער טעקע web.php
פֿאַר וועבסיטעס, און ין api.php
פֿאַר APIs.
די route
זענען אַסיינד צו דער גרופּע middleware
נעץ, כיילייטינג סעסיע סטאַטוס און זיכערהייט CSRF
. די רוץ אין route/api.php
זיי זענען סטייטלאַס און זענען אַסיינד צו די API מידוואַרע גרופּע.
די פאַר-ינסטאַלירונגdefiLaravel nita קומט מיט צוויי פּאַטס, איינער פֿאַר די וועב און איינער פֿאַר די API. דאָס איז ווי דער דרך פֿאַר וועב אין קוקט ווי web.php
:
Route::get('/', function () {
return view('welcome');
});
אַלע לאַראַוועל פּאַטס זענען definiti אין די וועג טעקעס אין די וועגווייַזער routes
. די מאַרשרוט פאַרוואַלטונג אַפּלאַקיישאַן, defiאין דער טעקע App\Providers\RouteServiceProvider
, נעמט קעיר פון אויטאָמאַטיש ליינינג די טעקעס. די טעקע route/web.php
defiניסיז די פּאַטס פֿאַר דיין וועב צובינד.
עס איז מעגלעך defiמאַכן אַ דרך פֿאַר דעם קאָנטראָללער קאַמף ווי גייט:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: דער אופֿן Route::resource
טראגט אַלע די יקערדיק פּאַטס פארלאנגט פֿאַר אַ אַפּלאַקיישאַן און איז געראטן דורך די קאָנטראָללער קלאַס.
ווען אַ בקשה שוועבעלעך די ספּעסיפיעד מאַרשרוט URI, דער אופֿן איז ינוואָוקט show
defiפאַרטיק אין די קאָנטראָללער App\Http\ControllersUserController
, גייט פארביי די מאַרשרוט פּאַראַמעטערס צו דעם אופֿן.
פֿאַר רעסורסן, איר דאַרפֿן צו טאָן צוויי טינגז אויף די אַפּלאַקיישאַן Laravel. ערשטער, איר דאַרפֿן צו שאַפֿן אַ מיטל וועג אויף Laravel וואָס גיט אַרייַנלייגן, דערהייַנטיקן, קוק און ויסמעקן פּאַטס. צווייטנס, שאַפֿן אַ מיטל קאָנטראָללער וואָס גיט אַ מעטאָד פֿאַר ינסערטינג, אַפּדייטינג, וויוינג און ויסמעקן.
די פאַר-ינסטאַלירונגdefiLaravel nita קומט מיט צוויי פּאַטס: איינער פֿאַר די וועב און איינער פֿאַר די API. דאָ איז ווי דער מאַרשרוט צו וועב קוקט ווי אין web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
לאַראַוועל מיטלוואַרע אַקט ווי אַ בריק צווישן די בקשה און דער אָפּרוף. עס קען זיין אַ פילטער קאָמפּאָנענט.
Laravel אַרבעט מיט אַ middleware וואָס האט די אַרבעט צו באַשטעטיקן צי דער קליענט אַפּלאַקיישאַן איז וועראַפייד אָדער נישט. אויב דער קליענט איז באשטעטיקט, רוטינג רידערעקץ צו די היים בלאַט אָדער אַ לאָגין בלאַט.
route
די פריערדיקע קאָד defiנישס אַ דרך צו די היים בלאַט. ווען דער דרך נעמט אַ בקשה get
פּער /
, וועט צוריקקומען די view
welcome
.
אַלע לאַראַוועל פּאַטס זענען defiניט אין דיין routing
, וואָס זענען ליגן ין דער וועגווייַזער דעי routes
. דעריבער, l'AppProvidersRouteServiceProvider
פון די אַפּלאַקיישאַן ליינז די רעקאָרדס. די טעקע route/web.php
כּולל די רוץ וואָס זענען געראטן פֿאַר דיין וועב צובינד.
דער דרך סטרוקטור איז זייער פּשוט. עפֿענען די צונעמען טעקע (`web.php
` o `api.php
` ) און אָנהייב די שורה פון קאָד מיט `Route:: `
, נאכגעגאנגען דורך די בעטן איר ווילן צו באַשטימען צו דעם ספּעציפיש מאַרשרוט און דעמאָלט ספּעציפיצירן די פֿונקציע וואָס וועט זיין געטאן נאָך די בעטן.
Laravel אָפפערס די פאלגענדע וועג מעטהאָדס:
get
post
put
delete
patch
options
די פּאַטס זענען defiניטעד אין לאַראַוועל אין די רוט קלאַס מיט הטטפּ, דער מאַרשרוט צו ענטפֿערן און די נאָענט, אָדער די קאָנטראָללער.
לאָמיר זען ווי איר קענען מאַכן דיין אייגענע פּאַטס אין Laravel.
איצט איך וועל מאַכן אַ יקערדיק דרך וואָס וועט דרוקן די צייט טיש פון 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
אין די אויבן קאָד, איך באשאפן אַ באַקומען בעטן דרך פֿאַר די URL /table
, וואָס וועט דרוקן די צייט טיש פון 2 אויף דעם עקראַן.
איצט לאָמיר זען די זעלבע קאָד, פּאַראַמעטערייזינג די נומער פֿאַר וואָס מיר וועלן די קייפל טיש:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
אין די קאָד די 'number
' צווישן די ברייסאַז רעפּראַזענץ די פּאַראַמעטער, ד"ה די נומער פֿאַר וואָס די קייפל טיש וועט זיין קאַלקיאַלייטיד. ווען אַ URL פון דעם טיפּ איז ספּעסיפיעד /table/n
, דעמאָלט דער נומער טיש וועט זיין געדרוקט n
.
עס איז אויך אַ וועג צו פאַרבינדן ביידע פֿעיִקייטן אין איין וועג. Laravel אָפפערס די אַפּשאַנאַל פּאַראַמעטערס שטריך וואָס אַלאַוז איר צו לייגן אַפּשאַנאַל פּאַראַמעטערס ניצן די קשיא צייכן '?' נאָך די אַפּשאַנאַל פּאַראַמעטער און די פאַר ווערטdefiניט. לאמיר זען דעם ביישפיל:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
אין דעם קאָד אויבן, מיר באשאפן אונדזער מאַרשרוט פּאַראַמעטער, מאכן די נומער אַפּשאַנאַל, אַזוי אויב אַ באַניצער רוץ `/table
` דעמאָלט עס וועט דזשענערייט די טיש פון 2 דורך פעליקייַטdefiניט און אויב אַ באַניצער רוץ צו `/table/{number}
דערנאָך די נומער טיש 'number'
וועט זיין געשאפן.
אין דעם פריערדיקן בייַשפּיל מיר באשאפן אַ דרך פֿאַר דזשענערייטינג די קייפל טיש, אָבער ווי קענען מיר ענשור אַז דער פּאַראַמעטער פון דעם דרך איז פאקטיש אַ נומער, צו ויסמיידן ערראָרס ווען דזשענערייטינג די קייפל טיש?
אין Laravel, איר קענען defiניש אַ באַגרענעצונג אויף דער מאַרשרוט פּאַראַמעטער ניצן די ` אופֿןwhere
` אויף דער מאַרשרוט בייַשפּיל. די `where
` נעמט דעם פּאַראַמעטער נאָמען און אַ רעגולער אויסדרוק פֿאַר דעם פּאַראַמעטער.
איצט לאָזן אונדז זען אַ ביישפּיל פון אַ קאַנסטריינץ פֿאַר אונדזער ` פּאַראַמעטער{numero}
` צו מאַכן זיכער אַז בלויז אַ נומער איז דורכגעגאנגען צו די פֿונקציע.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
אין די אויבן קאָד, מיר געוויינט אַ רעגולער אויסדרוק פֿאַר די דרך נומער. איצט, אויב אַ באַניצער פרוווט צו מאַרשרוט צו /טיש/ניין וועט זיין געוויזן אַ ויסנעם פון NotFoundHttpException.
אין Laravel, איר קענען defiניש אַ קאָנטראָללער אופֿן פֿאַר אַ דרך. א קאָנטראָללער אופֿן פּערפאָרמז אַלע אַקשאַנז defiניט יעדער מאָל אַ באַניצער אַקסעס די מאַרשרוט.
מיט די פאלגענדע קאָד, מיר באַשטימען דעם קאָנטראָללער אופֿן 'functionname'
צו אַ מאַרשרוט:
Route:: get ( '/home' , 'YourController@functionname' ) ;
דער קאָד סטאַרץ מיט `Route::`
און דעריבער defiניסיז די בעטן אופֿן פֿאַר דעם דרך. דערנאָך, defiענדיקן דיין דרך און קאָנטראָללער מיט דעם אופֿן דורך אַדינג די @ סימבאָל איידער די אופֿן נאָמען.
אין Laravel, איר קענען defiמאַכן אַ נאָמען פֿאַר דיין וועג. דעם נאָמען איז אָפט זייער נוציק. פֿאַר בייַשפּיל, אויב איר ווילן צו רידערעקט אַ באַניצער פון איין אָרט צו אנדערן, איר טאָן ניט האָבן צו defiפאַרענדיקן די פול רידערעקט URL. איר קענט נאָר געבן זיין נאָמען. דו קענסט defiויסשעפּן דעם מאַרשרוט נאָמען מיט דעם ` אופֿןname
` אין דער מאַרשרוט בייַשפּיל.
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’);
איצט, איך קען רידזשענערייט די URL פֿאַר דעם דרך דורך די פאלגענדע קאָד:
$url = route('table');
סימילאַרלי, פֿאַר רידערעקטינג צו דעם URL, די ריכטיק סינטאַקס וואָלט זיין:
return redirect()->route('table');
Route Groups
I Route Groups
, ממש דרך גרופּעס, איז אַ יקערדיק שטריך אין לאַראַוועל, וואָס אַלאַוז איר צו גרופּע פּאַטס. וועג גרופּעס זענען נוציק ווען איר ווילן צו צולייגן אַטריביוץ צו אַלע גרופּט פּאַטס. אויב איר נוצן דרך גרופּעס, איר טאָן ניט האָבן צו צולייגן די אַטריביוץ ינדיווידזשואַלי צו יעדער דרך; דאָס אַוווידז דופּליקאַטיאָן. עס אַלאַוז איר צו טיילן אַטריביוץ ווי middleware
o namespaces
, סענזאַ defiענדיקן די אַטריביוץ אויף יעדער יחיד דרך. די שערד אַטריביוץ קענען זיין דורכגעגאנגען אין אַ מענגע פֿאָרמאַט ווי דער ערשטער פּאַראַמעטער צו דעם אופֿן Route::group
.
סינטאַקס פון אַ רוט גרופע
Route::group([], callback);
טויב []: איז אַ מענגע דורכגעגאנגען צו די גרופּע אופֿן ווי דער ערשטער פּאַראַמעטער.
בייַשפּיל פון Route Group
אין 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" ;
});
});
אין די קאָד, defiלאָמיר געפֿינען דעם אופֿן גרופּע (), וואס אנטהאלט די צוויי פּאַראַמעטערס, ד.ה array
e closure
. ין די closure
, מיר קענען defiענדיקן ווי פילע route
מיר ווילן. אין די אויבן קאָד, מיר האָבן defiפאַרטיק דריי route
.
אויב דורך בלעטערער מיר אַקסעס די URL localhost/myproject/first
דעמאל ט מיש ט זי ך דע ר ערשטע ר ארײן route
טייפּינג אין דעם בלעטערער first way route
.
מיט די URL localhost/myproject/second
דערנאָך קומט דער צווייטער route
טייפּינג אין דעם בלעטערער second way route
.
בשעת מיט די URL localhost/myproject/third
דערנאָך קומט דער דריטער route
טייפּינג אין דעם בלעטערער third way route
.
Route Groups
די פּרעפיקס פון route
זיי זענען געניצט ווען מיר ווילן צו צושטעלן אַ URL סטרוקטור פּראָסט צו קייפל route
.
מיר קענען ספּעציפיצירן די פּרעפיקס פֿאַר אַלע פּאַטס defiניץ אין דער גרופּע ניצן די פּרעפיקס מענגע אָפּציע אין Route Groups
.
בייַשפּיל פון 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";
});
});
דער קאָד כּולל דריי פּאַטס וואָס קענען זיין אַקסעסט פֿון די פאלגענדע URL ס:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
מיר קענען אויך באַשטימען מידאַלוואַרע צו אַלע רוץ אין אַ גרופּע. די מיטלוואַרע מוזן זיין defiפאַרטיק איידער קריייטינג די גרופּע. צו זען ווי צו טאָן דאָס, לייענען אונדזער אַרטיקל לאַראַוועל מידוואַרע ווי עס אַרבעט.
למשל:
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";
});
});
דער אופֿן name
איז געניצט צו פּרעפיקס יעדער נאָמען פון route
מיט אַ ספּעציפיש שטריקל. אין דער שיטה name
, מיר דאַרפֿן צו ספּעציפיצירן די שטריקל מיט אַ טריילינג כאַראַקטער אין די פּרעפיקס.
בייַשפּיל web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Coveware דורך Veeam וועט פאָרזעצן צו צושטעלן ענטפער באַדינונגס פֿאַר סייבער יקסטאָרשאַן אינצידענט. קאָוועוואַרע וועט פאָרשלאָגן פאָרענסיקס און רימעדייישאַן קייפּאַבילאַטיז ...
פּרידיקטיוו וישאַלט איז רעוואַלושאַנייזינג די ייל & גאַז סעקטאָר, מיט אַן ינאַווייטיוו און פּראָואַקטיוו צוגאַנג צו פאַבריק פאַרוואַלטונג.…
די UK CMA האט ארויס אַ ווארענונג וועגן ביג טעק ס נאַטור אין די קינסטלעך סייכל מאַרק. דאָרט…
די "קאַסע גרין" דעקרעט, פארמולירט דורך די אייראפעישע יוניאַן צו פאַרבעסערן די ענערגיע עפעקטיווקייַט פון בנינים, האט פארענדיקט זיין לעגיסלאַטיווע פּראָצעס מיט ...