Ճանապարհը ձեր դիմումի համար հարցման 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');
});
Laravel-ի բոլոր ուղիներն են 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
, փոխանցելով երթուղու պարամետրերը մեթոդին:
Ռեսուրսների համար դուք պետք է երկու բան անեք հավելվածում Լարավել. Նախ, դուք պետք է ստեղծեք ռեսուրսների ուղին Լարավել որը ապահովում է զետեղել, թարմացնել, դիտել և ջնջել ուղիները: Երկրորդ, ստեղծեք ռեսուրսների վերահսկիչ, որն ապահովում է տեղադրման, թարմացման, դիտման և ջնջման մեթոդ:
Նախնական տեղադրումdefiLaravel nita-ն ունի երկու ուղի` մեկը վեբի և մեկը API-ի համար: Ահա թե ինչ տեսք ունի դեպի վեբ երթուղին web.php-ում.
Route::get(‘/’, function () {
return view(‘welcome’);
});
Laravel Middleware հանդես է գալիս որպես կամուրջ խնդրանքի և արձագանքի միջև: Դա կարող է լինել ինչ-որ ֆիլտրի բաղադրիչ:
Լարավել աշխատել ա միջնակարգ որն ունի խնդիր՝ հաստատելու՝ արդյոք հաճախորդի հայտը ստուգված է, թե ոչ։ Այն դեպքում, երբ հաճախորդը հաստատված է, ապա երթուղիչը վերահղվում է դեպի գլխավոր էջ կամ մուտքի էջ:
route
Նախորդ կոդը defiճանապարհ է բացում դեպի գլխավոր էջ: Ամեն անգամ, երբ այս ուղին հարցում է ստանում get
յուրաքանչյուր /
, կվերադարձնի view
welcome
.
Laravel-ի բոլոր ուղիներն են definiti քո routing
, որոնք գտնվում են dei գրացուցակի ներսում routes
. հետևաբար, l'AppProvidersRouteServiceProvider
հայտը գծում է այս գրառումները: Ֆայլը route/web.php
պարունակում է երթուղիներ, որոնք կառավարվում են ձեր վեբ ինտերֆեյսի համար:
Ճանապարհի կառուցվածքը շատ պարզ է. Բացեք համապատասխան ֆայլը (`web.php
` o `api.php
` ) և սկսել կոդի գիծը `Route:: `
, որին հաջորդում է հարցումը, որը ցանկանում եք վերագրել այդ կոնկրետ երթուղուն և այնուհետև նշեք այն գործառույթը, որը կկատարվի հարցումից հետո:
Laravel-ն առաջարկում է հետևյալ ուղիների մեթոդները.
get
post
put
delete
patch
options
Ճանապարհներն են defiնշված է Laravel-ում Route դասի շրջանակներում HTTP-ով, պատասխանելու և փակելու երթուղին կամ կարգավորիչը:
Տեսնենք, թե ինչպես կարող եք ստեղծել ձեր սեփական ուղիները Laravel-ում:
Այժմ ես պատրաստվում եմ ստեղծել հիմնական ուղի, որը կտպագրի 2-ի ժամանակների աղյուսակը:
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Վերոնշյալ կոդում ես ստեղծել եմ GET հարցման ուղի 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-ի աղյուսակը լռելյայնdefinite-ը և եթե օգտվողը ուղղորդում է դեպի «/table/{number}
Այնուհետև թվերի աղյուսակը 'number'
կարտադրվի։
Նախորդ օրինակում մենք ստեղծել ենք բազմապատկման աղյուսակի ստեղծման ուղի, բայց ինչպե՞ս կարող ենք ապահովել, որ ուղու պարամետրը իրականում թիվ է, որպեսզի խուսափենք բազմապատկման աղյուսակը ստեղծելիս սխալներից:
Laravel-ում դուք կարող եք defiսահմանել սահմանափակում երթուղու պարամետրի վրա՝ օգտագործելով ` մեթոդըwhere
«երթուղու օրինակում. The «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-ում դուք կարող եք definish a Controller մեթոդը երթուղու համար: Կարգավորիչ մեթոդը կատարում է բոլոր գործողությունները 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
, բառացիորեն ուղու խմբերը, Laravel-ի էական հատկանիշն է, որը թույլ է տալիս խմբավորել ուղիները։ Ուղու խմբերն օգտակար են, երբ ցանկանում եք ատրիբուտներ կիրառել բոլոր խմբավորված ուղիների վրա: Եթե դուք օգտագործում եք ուղիների խմբեր, դուք չպետք է կիրառեք ատրիբուտները առանձին-առանձին յուրաքանչյուր ուղու վրա. սա խուսափում է կրկնությունից: Այն թույլ է տալիս կիսել այնպիսի հատկանիշներ, ինչպիսիք են 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
.
Մենք կարող ենք նախածանց նշել բոլոր ուղիների համար definites խմբի ներսում՝ օգտագործելով նախածանցային զանգվածի տարբերակը 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ավարտել է խումբը ստեղծելուց առաջ: Տեսնելու համար, թե ինչպես դա անել, կարդացեք մեր հոդվածը Ինչպես է այն աշխատում, Laravel Middleware-ը.
օրինակ.
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
Smart Lock Market տերմինը վերաբերում է արդյունաբերությանը և էկոհամակարգին, որը շրջապատում է արտադրությունը, բաշխումը և օգտագործումը…
Ծրագրային ճարտարագիտության մեջ դիզայնի օրինաչափությունները օպտիմալ լուծումներ են այն խնդիրների համար, որոնք սովորաբար առաջանում են ծրագրային ապահովման նախագծման մեջ: ես նման եմ…
Արդյունաբերական մակնշումը լայն տերմին է, որը ներառում է մի քանի տեխնիկա, որոնք օգտագործվում են մշտական նշաններ ստեղծելու համար…
Հետևյալ պարզ Excel մակրո օրինակները գրվել են VBA ընթերցման գնահատված ժամանակի միջոցով. 3 րոպե Օրինակ…