Welcome to the CYBSECGROUP Forum
You have the opportunity to get acquainted with interesting projects in an interesting environment
Registration

php Laravel საწყისები - Routing ლარაველში - ნაწილი 6

LashaTheBeastBoy

Loading... 👽
Staff member
Moderator
CSG Member
May 12, 2021
8
5
19
#1
გამარჯობა,
მე ვარ ლაშა და ეს არის Laravel-ის საწყისებზე სტატიების 4.2 ნაწილი. ამ ნაწილში მე ვისაუბრებ მარტივ მოქმედებებზე PHP-ში.

რა არის routing?
Routing ნებისმიერი საიტის აწყობისას ერთერთი ყველაზე მთავარი რამაა. Routing-ით გვარდება ყველა ის სტრუქტურა, რომელიც ჩვენს საიტზე უნდა იყოს, იწერება ყველა "გზა" მომხმარებლისთვის და ადმინებისთვის. Route-ბის გარეშე ვერ მოხერხდებოდა მომხმარებლის კონტროლერთან დაკავშირება.
მთავარი, საწყისი route, რომელზეც პირველად შემოდის მომხმარებელი არის "/" route. ნებისმიერი გვერდის გახსნისას ჩვენ სწორედ ამ როუტზე შევდივართ. აქ გამოდის ყველა ინფორმაცია და ხშირად გზებიც სხვა როუტებზე.

პრინციპი
Route-ზე ჩვენ ვაგზავნით მოთხოვნას, ის უკავშირდება კონტროლერს და გვიბრუნებს შესაბამის ინფორმაციას. მოთხოვნის სხვადასხვა ტიპი არსებობს.
ორი ძირითადი ტიპია GET და POST მოთხოვნები.
GET მოთხოვნა გამოიყენება რაღაცის სანახავად, მისი შეცვლის გარეშე. მაგალითად, როდესაც ჩვენ საიტზე შევდივართ, პირველივე მოთხოვნა არის GET, ან როცა რაიმეს ვეძებთ Search სისტემით, მაშინაც გამოიყენება GET მოთხოვნა.
POST მოთხოვნა გამოიყენება მაშინ, როცა ჩვენ გვინდა რაიმე შევცვალოთ. მაგალითად, პაროლის შეცვლისთვის ან პოსტის დასადებას საიტზე გამოიყენება POST მოთხოვნა. GET-ით გადაცემული მონაცემები ჩანს URL-შიც, და აქვს გარკვეული ლიმიტი, ხოლო POST არ ჩანს.

სინტაქსი
ლარაველში Route-ს ჩაწერის ორი ხერხი არსებობს, თუმცა უსაფრთხოების სტანდარტებიდან გამომდინარე მათგან მხოლოდ ერთია მისაღები.
მაგალითად, განვიხილოთ პირველი "/" route. პირველ შემთხვევაში გამოვიყენებ default ხერხს, რომელიც ძალიან იშვიათად გამოიყენება.

Route::get("/",function(){
return view("guest.index");
})->name("index");

Route არის საწყისი სიტყვა, რითითაც ჩვენ ვანიშნებთ კოდს რომ ვიწყებთ route-ის ჩაწერას. ჩემდეგ ვუწერთ ტიპს. ამ შემთხვევაში აუცილებელია გვქოდნეს post ტიპის მოთხოვნა. შემდეგ აუცილებელია რომ გადაეცეს ორი პარამეტრი. რა როუტისთვის იწერება ეს და რა უნდა გაკეთდეს. ამ შემთხვევაში იწერება "/" ანუ მთავარი როუტის გზა და შემდეგ ფუნქცია, რომელიც აბრუნებს index.html ფაილს. საბოლოოდ იხურება ფუნქციაც და პარამეტრების გადასაცემი ფრჩხილებიც და შეგვიძლია ამ route-ს მივანიჭოთ სახელიც. ზოგჯერ ეს სახელი გამოიყენება მარტივად გადასამისამართებლად კონტროლერში.

მეორე ჩაწერის ტიპი არის ასეთი:
Route:: post('/update', [AdminController::class, 'postNews'])->name('addpost');

ეს უკვე არის post მოთხოვნა. ამ შემთხვევაშიც პარამეტრად გადაეცემა ის "გზა" სადაც უნდა შესრულდეს ფუნქცია, თუმცა ახლა პირდაპირ ფუნქციის მაგივრად, გადაეცემა ადგილი, სადაც ინახება ჩვენი ფუნქცია. ამ შემთხვევაში ვეუბნებით, რომ AdminController-ში ინახება postNews ფუნქცია. საბოლოოდ კი გადაეცემა Route-ის სახელი.

Get როუტში შეგვიძლია ასევე გადავცეთ რაიმე პარამეტრი და ამ პარამეტრის მიხედვით დავაბრუნოტ მნიშვნელობა. საჭიროა რომ როუტში აღნიშნული მონაცემი, გადასაცემ ტიპადაც იყოს ფუნქციაში გაწერილი.
მაგალითად:
Route::get('/user/{name}', function ($name) {
echo $name;
});
ამ შემთხვევაში როუტს გადაეცემა პარამეტრი name, ეს პარამეტრი შემდეგ მიეწოდება ფუნქციას, ფუნქცია კი აკეთებს მოქმედებას მასზე.

დამატებით ინფორმაციას შეგიძლიათ გაეცნოთ დოკუმენტაციაში.


დამატებითი კითხვების შემთხვევაში შეგიძლიათ დაწეროთ კომენტარებში ან გამოიყენოთ ჩემი სოციალური ქსელი.
მადლობა ყურადღებისთვის.


გამოყენებული წყარო(ები):
 
Last edited: