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

php Laravel საწყისები - ფაილების სტრუქტურა Laravel-ში / MVC ნიმუში - ნაწილი 3.1

LashaTheBeastBoy

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

ფაილების სტრუქტურა

image_2021-05-20_175355.png

ლარაველში შეგვიძლია ვთქვათ რომ ძალიან ლამაზად არის დალაგებული და კონფიგურირებული ყველა ფაილი. თუ ანბანის მიხედვით მივუყვებით, პირველი ყველაზე მნიშვნელოვანი ფოლდერი/დირექტორია არის app სახელით. აქ ინახება controller-ის, provders-ის, middleware-ის და Model-ის ფოლდერი, ასევე შეგვიძლია შევქმნათ სერვისების ფოლდერიც. ყველა ფაილს თავისი დანიშნულება აქვს, ამიტომ ცალცალკე განვიხილავ, თუმცა ყველა ეს ფაილი ერთმანეთთანაა დაკავშირებული.

Model - აქ ინახება .php გაფართოების ფაილები, რომლებიც გვეხმარებიან მარტივად დავუკავშირდეთ ბაზებს. აქვთ ჩაშენებული ფუნქციები და ამიტომ კოდის წერისას არ გვჭირდება sql ან სხვა ენების ცოდნა. აქვს ფუნქციები, რომელიც ამარტივებს ამ query-ების ჩაწერას.
Controller - კონტროლერში ინახება ის კოდი, რომელიც ამუშავებს მონაცემებს და გადასცემს view-ს. აქ ხდება კავშირი ბაზებთან model-ებით, იგება query-ები და ა.შ.
Middleware - ამ დირექტორიაში ინახება ასევე .php გაფართოების ფაილები, რომლებიც როგორც სახელიდან ჩანს შუამავლის როლს ასრულებენ მომხმარებელსა და სერვერს შორის. აქედან შეიძლება შემოწმდეს, მოიხსნას ან დაწესდეს რაიმე შეზღუდვა.
services - ამ ფოლდერში შეგვიძლია ჩავწეროთ კოდი (ისეთი როგორსაც ჩავწერდით კონტროლერში) და შემდეგ კონტროლერში გამოვიძახოთ, რადგან არ გადაგვეტვირთოს კონტროლერი ძალიან.
providers - ეს არის ლარაველის აპლიკაციის ჩატვირთვის ცენტრალური ადგილი. ჩვენი აპლიკაცია და ასევე ყველა სხვა სერვისი რომელიც ლარაველს მოყვება, ან ჩვენ დავაყენებთ providers-ში იტვირთება და იყრის თავს.

Resources Folder
image_2021-05-20_180806.png
ამ ფოლდერში ინახება ყველა საჭირო ფაილი ფრონტენდისა და ჯავასკრიპტითვის. თუ Frontend-ის საწყისები მაინც გაგივლიათ, ალბათ იცით რა მნიშვნელოვანია სწორად დალაგებული ფაილები Front-ის წერისას. ლარაველში ეს უკვე გამზადებულია და შეგვიძლია მარტივად გავერკვიოთ.
welcome.blade არის იგივე index.html, ყველანაირი კონფიგურაციის გარეშე სწორედ ეს გვერდი იტვირთება. css-ში მოთავსებულია css ფაილები, js-ში javascript-ის ფაილები. lang-ში კი მოთავსებულია php გაფართოების ფაილები, სადაც შეგვიძლია ვთარგმნოთ საკვანძო სიტყვები ჩვენი საიტისთვის, როგორიცაა ავტორიზაცია/შესვლა და ა.შ. და შემდეგ ენის მიხედვით აპლიკაცია გამოიატანს ამ სიტყვებს. (ქართულზე ქართულს, ინგლისურზე ინგლისურს და ა.შ.)

დანარჩენ ფოლდერებს შემდეგ ნაწილებში განვიხილავთ, თორემ ძალიან დიდი ინფორმაცია გამოვა ერთი სტატიისთვის.

MVC pattern

MVC pattern-ის კარგად გასაგებად აი ეს სურათი დაგეხმარებათ:
0_Qf1s2lG86MjX-Zcv.jpg

როდესაც საიტზე შევდივართ, ჩვენ ვგზავნით მოთხოვნას კონტროლერთან, რომ დაამუშაოს რაღაც მონაცემი. კონტროლერი უკავშირდება model-ს და სთხოვს ინფორმაციას, მოდელიც უბრუნებს. შემდეგ კონტროლერი ამ მონაცემს ამუშავებს და უგზავნის view-ს. view-ს კი ეს მონაცემები მომხმარებლისთივს გასაგებ ენაზე გამოაქვს ეკრანზე. სწორედ ამ სტრუქტურაზე მუშაობს ლარაველი. ძალიან მარტივი სტრუქტურაა, რომელიც ნებისმიერი ადამიანისთვის არის გასაგები და ძალიან ამარტივებს კოდის წერის პრინციპსაც.

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


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