ארטיקלען

לאַראַוועל: הקדמה צו לאַראַוועל רוטינג

רוטינג אין לאַראַוועל אַלאַוז ניצערס צו מאַרשרוט אַלע אַפּלאַקיישאַן ריקוועס צו די צונעמען קאָנטראָללער. רובֿ ערשטיק רוץ אין Laravel דערקענען און אָננעמען אַ וניפאָרם אַססעט ידענטיפיער צוזאמען מיט אַ קלאָוזשער, פּראַוויידינג אַ פּשוט און יקספּרעסיוו וועג פון רוטינג.

וואָס איז אַ מאַרשרוט (וועג)?

דער דרך איז אַ וועג צו שאַפֿן אַ בקשה 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.phpo `api.php) און אָנהייב די שורה פון קאָד מיט `Route:: `, נאכגעגאנגען דורך די בעטן איר ווילן צו באַשטימען צו דעם ספּעציפיש מאַרשרוט און דעמאָלט ספּעציפיצירן די פֿונקציע וואָס וועט זיין געטאן נאָך די בעטן.

Laravel אָפפערס די פאלגענדע וועג מעטהאָדס:

  • get
  • post
  • put
  • delete
  • patch
  • options

די פּאַטס זענען defiניטעד אין לאַראַוועל אין די רוט קלאַס מיט הטטפּ, דער מאַרשרוט צו ענטפֿערן און די נאָענט, אָדער די קאָנטראָללער.

ווי צו שאַפֿן פּאַטס אין Laravel

לאָמיר זען ווי איר קענען מאַכן דיין אייגענע פּאַטס אין Laravel.

א יקערדיק GET דרך

איצט איך וועל מאַכן אַ יקערדיק דרך וואָס וועט דרוקן די צייט טיש פון 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` נעמט דעם פּאַראַמעטער נאָמען און אַ רעגולער אויסדרוק פֿאַר דעם פּאַראַמעטער.

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

איצט לאָזן אונדז זען אַ ביישפּיל פון אַ קאַנסטריינץ פֿאַר אונדזער ` פּאַראַמעטער{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

Middleware

מיר קענען אויך באַשטימען מידאַלוואַרע צו אַלע רוץ אין אַ גרופּע. די מיטלוואַרע מוזן זיין 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

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

לעצטע ארטיקלען

Veeam פֿעיִקייטן די מערסט פולשטענדיק שטיצן פֿאַר ראַנסאָמוואַרע, פֿון שוץ צו ענטפער און אָפּזוך

Coveware דורך Veeam וועט פאָרזעצן צו צושטעלן ענטפער באַדינונגס פֿאַר סייבער יקסטאָרשאַן אינצידענט. קאָוועוואַרע וועט פאָרשלאָגן פאָרענסיקס און רימעדייישאַן קייפּאַבילאַטיז ...

קסנומקס אפריל קסנומקס

גרין און דיגיטאַל רעוואלוציע: ווי פּרידיקטיוו וישאַלט איז טראַנספאָרמינג די אָיל און גאַז אינדוסטריע

פּרידיקטיוו וישאַלט איז רעוואַלושאַנייזינג די ייל & גאַז סעקטאָר, מיט אַן ינאַווייטיוו און פּראָואַקטיוו צוגאַנג צו פאַבריק פאַרוואַלטונג.…

קסנומקס אפריל קסנומקס

וק אַנטיטראַסט רעגולאַטאָר רייזאַז ביגטעטש שרעק איבער GenAI

די UK CMA האט ארויס אַ ווארענונג וועגן ביג טעק ס נאַטור אין די קינסטלעך סייכל מאַרק. דאָרט…

קסנומקס אפריל קסנומקס

Casa Green: ענערגיע רעוואָלוציע פֿאַר אַ סאַסטיינאַבאַל צוקונפֿט אין איטאליע

די "קאַסע גרין" דעקרעט, פארמולירט דורך די אייראפעישע יוניאַן צו פאַרבעסערן די ענערגיע עפעקטיווקייַט פון בנינים, האט פארענדיקט זיין לעגיסלאַטיווע פּראָצעס מיט ...

קסנומקס אפריל קסנומקס

לייענען כידעש אין דיין שפּראַך

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

גיי אונדז