લેખ

લારેવેલ: લારાવેલ રૂટીંગનો પરિચય

Laravel માં રૂટીંગ વપરાશકર્તાઓને તમામ એપ્લિકેશન વિનંતીઓને યોગ્ય નિયંત્રકને રૂટ કરવાની મંજૂરી આપે છે. લારાવેલના મોટાભાગના પ્રાથમિક માર્ગો એક સમાન એસેટ આઇડેન્ટિફાયરને ક્લોઝર સાથે ઓળખે છે અને સ્વીકારે છે, જે રૂટીંગની સરળ અને અભિવ્યક્ત રીત પ્રદાન કરે છે.

માર્ગ (માર્ગ) શું છે?

પાથ એ તમારી એપ્લિકેશન માટે વિનંતી URL બનાવવાનો એક માર્ગ છે. આ URL ને વેબસાઇટ પરની ચોક્કસ ફાઇલો સાથે સાંકળવાની જરૂર નથી અને તે માનવ વાંચી શકાય તેવા અને SEO મૈત્રીપૂર્ણ છે.

Laravel માં, le ફોલ્ડરની અંદર પાથ બનાવવામાં આવે છે routes. તેઓ ફાઇલમાં બનાવવામાં આવે છે web.php વેબસાઇટ્સ માટે અને અંદર api.php API માટે.

route જૂથને સોંપવામાં આવે છે middleware નેટવર્ક, સત્રની સ્થિતિ અને સુરક્ષાને હાઇલાઇટ કરે છે CSRF. માં માર્ગો route/api.php તેઓ સ્ટેટલેસ છે અને API મિડલવેર જૂથને સોંપેલ છે.
પ્રી-ઇન્સ્ટોલેશનdefiLaravel nita બે પાથ સાથે આવે છે, એક વેબ માટે અને એક API માટે. આમાં વેબ માટેનો પાથ જેવો દેખાય છે web.php:

Route::get('/', function () {
   return view('welcome');
});

લારાવેલમાં રૂટ શું છે?

બધા લારાવેલ પાથ છે defiડિરેક્ટરીમાં સ્થિત પાથ ફાઇલોમાં niti routes. રૂટ મેનેજમેન્ટ એપ્લિકેશન, defiફાઈલમાં nished 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 મિડલવેર વિનંતી અને પ્રતિક્રિયા વચ્ચે સેતુ તરીકે કામ કરે છે. તે અમુક પ્રકારનું ફિલ્ટર ઘટક હોઈ શકે છે.

Laravel એ સાથે કામ કરો મિડલવેર જેની પાસે ક્લાયન્ટ એપ્લિકેશન ચકાસવામાં આવી છે કે નહીં તેની પુષ્ટિ કરવાનું કાર્ય છે. જો ક્લાયન્ટ કન્ફર્મ થાય છે, તો પછી રૂટીંગ હોમ પેજ અથવા લોગિન પેજ પર રીડાયરેક્ટ કરે છે.

માટેની પદ્ધતિઓ route

અગાઉનો કોડ defiહોમ પેજ પર જવાનો માર્ગ નક્કી કરે છે. જ્યારે પણ આ માર્ગને વિનંતી મળે છે get પ્રતિ /, પરત કરશે view welcome

બધા લારાવેલ પાથ છે defiતમારામાં નીતિ routing, જે ડિરેક્ટરી dei ની અંદર સ્થિત છે routes. પરિણામે, l'AppProvidersRouteServiceProvider આ રેકોર્ડ્સની એપ્લિકેશન લાઇન અપ કરે છે. ફાઈલ route/web.php તમારા વેબ ઈન્ટરફેસ માટે મેનેજ કરેલા રૂટ્સ સમાવે છે.

પાથનું માળખું ખૂબ જ સરળ છે. યોગ્ય ફાઇલ ખોલો (`web.phpo `api.php) અને સાથે કોડની લાઇન શરૂ કરો `Route:: `, જે વિનંતીને અનુસરીને તમે તે ચોક્કસ રૂટને સોંપવા માંગો છો અને પછી તે કાર્યનો ઉલ્લેખ કરો જે વિનંતીને પગલે કરવામાં આવશે.

Laravel નીચેની પાથ પદ્ધતિઓ પ્રદાન કરે છે:

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

માર્ગો છે defiHTTP સાથે રૂટ વર્ગની અંદર લારાવેલમાં nited, જવાબ આપવાનો માર્ગ અને બંધ, અથવા નિયંત્રક.

લારાવેલમાં પાથ કેવી રીતે બનાવવો

ચાલો જોઈએ કે તમે Laravel માં તમારા પોતાના પાથ કેવી રીતે બનાવી શકો છો.

મૂળભૂત GET પાથ

હવે હું એક મૂળભૂત પાથ બનાવવા જઈ રહ્યો છું જે 2 નું ટાઈમ ટેબલ પ્રિન્ટ કરશે.

Route::get('/table', function () {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * 2 = ". $i*2 ."<br>";
   }   
});

ઉપરોક્ત કોડમાં, મેં URL માટે GET વિનંતી પાથ બનાવ્યો છે /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 નું કોષ્ટક જનરેટ કરશેdefinite અને જો વપરાશકર્તા ` પર રૂટ કરે છે/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રૂટ માટે કંટ્રોલર મેથડ નિશ કરો. નિયંત્રક પદ્ધતિ બધી ક્રિયાઓ કરે છે definite દર વખતે જ્યારે વપરાશકર્તા રૂટને ઍક્સેસ કરે છે.
નીચેના કોડ સાથે અમે નિયંત્રક પદ્ધતિ સોંપી રહ્યા છીએ '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

ઇનોવેશન ન્યૂઝલેટર
નવીનતા પરના સૌથી મહત્વપૂર્ણ સમાચારને ચૂકશો નહીં. તેમને ઇમેઇલ દ્વારા પ્રાપ્ત કરવા માટે સાઇન અપ કરો.

તાજેતરના લેખો

સિસ્કો ટેલોસ ત્રિમાસિક વિશ્લેષણ: ગુનેગારો દ્વારા લક્ષિત કોર્પોરેટ ઈમેલ્સ ઉત્પાદન, શિક્ષણ અને આરોગ્યસંભાળ સૌથી વધુ અસરગ્રસ્ત ક્ષેત્રો છે

2024ના પ્રથમ ત્રણ મહિનામાં કંપનીના ઈમેઈલનું સમાધાન છેલ્લા ત્રિમાસિક ગાળાની સરખામણીમાં બમણાથી વધુ વધ્યું છે.

14 મે 2024

ઇન્ટરફેસ સેગ્રિગેશન સિદ્ધાંત (ISP), ચોથો સોલિડ સિદ્ધાંત

ઇન્ટરફેસ સેગ્રિગેશનનો સિદ્ધાંત ઑબ્જેક્ટ-ઓરિએન્ટેડ ડિઝાઇનના પાંચ સોલિડ સિદ્ધાંતોમાંથી એક છે. વર્ગમાં હોવું જોઈએ...

14 મે 2024

સારી રીતે કરવામાં આવેલ વિશ્લેષણ માટે, Excel માં ડેટા અને સૂત્રોને શ્રેષ્ઠ રીતે કેવી રીતે ગોઠવવું

માઈક્રોસોફ્ટ એક્સેલ એ ડેટા એનાલિસિસ માટેનું રેફરન્સ ટૂલ છે, કારણ કે તે ડેટા સેટ્સનું આયોજન કરવા માટે ઘણી સુવિધાઓ પ્રદાન કરે છે,…

14 મે 2024

બે મહત્વપૂર્ણ વોલાયન્સ ઇક્વિટી ક્રાઉડફંડિંગ પ્રોજેક્ટ્સ માટે સકારાત્મક નિષ્કર્ષ: જેસોલો વેવ આઇલેન્ડ અને મિલાનો વાયા રેવેના

2017 થી રિયલ એસ્ટેટ ક્રાઉડફંડિંગના ક્ષેત્રમાં યુરોપના નેતાઓમાં Walliance, SIM અને પ્લેટફોર્મ, પૂર્ણ થવાની જાહેરાત કરે છે…

13 મે 2024

ફિલામેન્ટ શું છે અને લારેવેલ ફિલામેન્ટનો ઉપયોગ કેવી રીતે કરવો

ફિલામેન્ટ એ "એક્સિલરેટેડ" લારેવેલ ડેવલપમેન્ટ ફ્રેમવર્ક છે, જે ઘણા ફુલ-સ્ટેક ઘટકો પ્રદાન કરે છે. તે પ્રક્રિયાને સરળ બનાવવા માટે રચાયેલ છે…

13 મે 2024

કૃત્રિમ બુદ્ધિમત્તાના નિયંત્રણ હેઠળ

"મારે મારી ઉત્ક્રાંતિ પૂર્ણ કરવા માટે પાછા ફરવું પડશે: હું મારી જાતને કમ્પ્યુટરની અંદર રજૂ કરીશ અને શુદ્ધ ઊર્જા બનીશ. એકવાર સ્થાયી થયા પછી…

10 મે 2024

ગૂગલની નવી આર્ટિફિશિયલ ઇન્ટેલિજન્સ ડીએનએ, આરએનએ અને "જીવનના તમામ પરમાણુઓ"નું મોડેલ બનાવી શકે છે.

Google DeepMind તેના આર્ટિફિશિયલ ઇન્ટેલિજન્સ મોડલનું સુધારેલું સંસ્કરણ રજૂ કરી રહ્યું છે. નવું સુધારેલું મોડલ માત્ર…

9 મે 2024

લારાવેલના મોડ્યુલર આર્કિટેક્ચરની શોધખોળ

લારાવેલ, તેની ભવ્ય વાક્યરચના અને શક્તિશાળી સુવિધાઓ માટે પ્રખ્યાત છે, તે મોડ્યુલર આર્કિટેક્ચર માટે પણ મજબૂત પાયો પૂરો પાડે છે. ત્યાં…

9 મે 2024

તમારી ભાષામાં ઇનોવેશન વાંચો

ઇનોવેશન ન્યૂઝલેટર
નવીનતા પરના સૌથી મહત્વપૂર્ણ સમાચારને ચૂકશો નહીં. તેમને ઇમેઇલ દ્વારા પ્રાપ્ત કરવા માટે સાઇન અપ કરો.

અમને અનુસરો