ბილიკი არის გზა თქვენი განაცხადისთვის მოთხოვნის 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');
});
ლარაველის ყველა ბილიკი არის 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 მოქმედებს როგორც ხიდი მოთხოვნასა და რეაქციას შორის. ეს შეიძლება იყოს ერთგვარი ფილტრის კომპონენტი.
Laravel მუშაობა ა საშუალო პროგრამა რომელსაც აქვს დავალება დაადასტუროს კლიენტის განაცხადი დამოწმებულია თუ არა. კლიენტის დადასტურების შემთხვევაში, მარშრუტიზაცია გადამისამართდება მთავარ გვერდზე ან შესვლის გვერდზე.
route
წინა კოდი defiხაზს უსვამს გზას მთავარ გვერდზე. როდესაც ეს მარშრუტი მიიღებს მოთხოვნას get
for /
, დააბრუნებს view
welcome
.
ლარაველის ყველა ბილიკი არის defiნიტი შენში routing
, რომლებიც განთავსებულია დირექტორიაში dei routes
. შესაბამისად, l'AppProvidersRouteServiceProvider
განაცხადის ხაზები ამ ჩანაწერები. Ფაილი route/web.php
შეიცავს მარშრუტებს, რომლებიც იმართება თქვენი ვებ ინტერფეისისთვის.
ბილიკის სტრუქტურა ძალიან მარტივია. გახსენით შესაბამისი ფაილი (`web.php
` o `api.php
` ) და დაიწყეთ კოდის ხაზი `Route:: `
, რასაც მოჰყვება მოთხოვნა, რომლის მინიჭებაც გსურთ ამ კონკრეტულ მარშრუტზე და შემდეგ მიუთითეთ ფუნქცია, რომელიც შესრულდება მოთხოვნის შემდეგ.
Laravel გთავაზობთ შემდეგი გზების მეთოდებს:
get
post
put
delete
patch
options
ბილიკები არის defiმითითებულია Laravel-ში მარშრუტის კლასში 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
` მარშრუტის მაგალითზე. `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 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);
dove []: არის ჯგუფის მეთოდზე გადაცემული მასივი, როგორც პირველი პარამეტრი.
მაგალითი Route Group
in 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
ჩვენ ასევე შეგვიძლია მივანიჭოთ Middleware ჯგუფის ყველა მარშრუტს. შუა პროგრამა უნდა იყოს 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
კომპანიის ელ.ფოსტის კომპრომისი ორჯერ გაიზარდა 2024 წლის პირველ სამ თვეში, ბოლო კვარტალთან შედარებით…
ინტერფეისის სეგრეგაციის პრინციპი არის ობიექტზე ორიენტირებული დიზაინის ხუთი მყარი პრინციპიდან ერთ-ერთი. კლასს უნდა ჰქონდეს…
Microsoft Excel არის მონაცემთა ანალიზის საცნობარო ინსტრუმენტი, რადგან ის გთავაზობთ მრავალ ფუნქციას მონაცემთა ნაკრების ორგანიზებისთვის,…
Walliance, SIM და პლატფორმა ევროპის ლიდერებს შორის უძრავი ქონების Crowdfunding-ის სფეროში 2017 წლიდან, აცხადებს დასრულებას…
Filament არის "აჩქარებული" Laravel განვითარების ჩარჩო, რომელიც უზრუნველყოფს რამდენიმე სრული დასტას კომპონენტს. იგი შექმნილია პროცესის გასამარტივებლად…
„მე უნდა დავბრუნდე, რომ დავასრულო ჩემი ევოლუცია: მე კომპიუტერში საკუთარ თავს პროექტირებას მოვახდენ და სუფთა ენერგია გავხდები. მას შემდეგ რაც დასახლდა…
Google DeepMind წარმოგიდგენთ ხელოვნური ინტელექტის მოდელის გაუმჯობესებულ ვერსიას. ახალი გაუმჯობესებული მოდელი უზრუნველყოფს არა მხოლოდ…
Laravel, რომელიც ცნობილია თავისი ელეგანტური სინტაქსითა და ძლიერი მახასიათებლებით, ასევე უზრუნველყოფს მყარ საფუძველს მოდულური არქიტექტურისთვის. იქ…