არტიკოლი

რა არის Laravel, როგორ მუშაობს და ძირითადი არქიტექტურა WEB აპლიკაციების შესაქმნელად

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

Laravel PHP ჩარჩო მოყვება ინსტრუმენტების სოლიდურ კოლექციას და უზრუნველყოფს წარმოებული აპლიკაციების არქიტექტურას. ეს არის ღია კოდის PHP ჩარჩო, რომელიც იყენებს MVC არქიტექტურას:

  • ჩარჩო: არის მეთოდების, კლასების ან ფაილების კრებული, რომელსაც იყენებს პროგრამისტი და ასევე შეუძლია გააფართოვოს მათი ფუნქციონირება საკუთარი კოდის გამოყენებით.
  • არქიტექტურა: არის დიზაინის სპეციფიკური ნიმუში, რომელსაც ჩარჩო მიჰყვება. Laravel მიჰყვება MVC არქიტექტურას.

mvc

აკრონიმი შედგება სამი ასოსგან, მნიშვნელობა ასეთია:

  • M: შაბლონი. მოდელი არის კლასი, რომელიც ეხება მონაცემთა ბაზას. მაგალითად, თუ აპლიკაციაში გვყავს მომხმარებლები, მაშინ გვექნება მომხმარებლების მოდელი, რომელიც პასუხისმგებელია მომხმარებლების ცხრილის კითხვაზე, თუ გვაქვს მომხმარებლების მოდელი, მაშინ ასევე გვექნება მომხმარებლების ცხრილი.
  • V: ხედი. ხედი არის კლასი, რომელიც ზრუნავს ყველაფერზე, რასაც ვხედავთ აპლიკაციის შესახებ ბრაუზერში.
  • C: კონტროლერები. კონტროლერი არის შუამავალი, რომელიც ზრუნავს როგორც მოდელზე, ასევე ხედზე. კონტროლერი არის კლასი, რომელიც იღებს მონაცემებს მოდელიდან და აგზავნის ხედვის კლასში.

უპირატესობები და მახასიათებლები

ავტორიზაციისა და ავთენტიფიკაციის სისტემების შექმნა

თითოეული ვებ აპლიკაციის მფლობელი უნდა იყოს დარწმუნებული, რომ არაავტორიზებული მომხმარებლები არ წვდებიან დაცულ რესურსებს. Laravel გთავაზობთ ავთენტიფიკაციის განხორციელების მარტივ გზას. ის ასევე იძლევა მარტივ გზას ავტორიზაციის ლოგიკის ორგანიზებისა და რესურსებზე წვდომის გასაკონტროლებლად.

ინსტრუმენტებთან ინტეგრაცია

Laravel ინტეგრირებულია ბევრ ინსტრუმენტთან, რომელიც ქმნის უფრო სწრაფ აპლიკაციას. საჭიროა არა მხოლოდ აპლიკაციის შექმნა, არამედ უფრო სწრაფი აპლიკაციის შექმნაც. ქეშირების ბექენდთან ინტეგრირება ერთ-ერთი მთავარი ნაბიჯია ვებ აპლიკაციის მუშაობის გასაუმჯობესებლად. Laravel ინტეგრირებულია ზოგიერთ პოპულარულ ქეშირებასთან, როგორიცაა Redis და Memcached.

ფოსტის სერვისის ინტეგრაცია

Laravel ინტეგრირებულია საფოსტო სერვისთან. ეს სერვისი გამოიყენება შეტყობინების ელ.ფოსტის გასაგზავნად. ის უზრუნველყოფს სუფთა და მარტივ API-ს, რომელიც საშუალებას გაძლევთ სწრაფად გააგზავნოთ ელფოსტა შიდა ან ღრუბელზე დაფუძნებული სერვისის საშუალებით.

ტესტის ავტომატიზაცია

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

ბიზნეს ლოგიკის კოდის გამოყოფა პრეზენტაციის კოდისგან

ბიზნეს ლოგიკის კოდისა და პრეზენტაციის კოდის გამოყოფა საშუალებას აძლევს HTML განლაგების დიზაინერებს შეცვალონ გარეგნობა და შეგრძნება დეველოპერებთან ურთიერთობის გარეშე. შეცდომის გამოსწორება შესაძლებელია დეველოპერების მიერ უფრო სწრაფად, თუ უზრუნველყოფილია გამიჯვნა ბიზნეს ლოგიკის კოდს (კონტროლერი) და პრეზენტაციის კოდს (ნახვა). ჩვენ ვიცით, რომ Laravel მიჰყვება MVC არქიტექტურას, ამიტომ განცალკევება არის მთავარი.

ყველაზე გავრცელებული ტექნიკური ხარვეზების გამოსწორება

Laravel არის უსაფრთხო ჩარჩო, რადგან ის იცავს ვებ აპლიკაციას უსაფრთხოების ყველა დაუცველობისგან. დაუცველობა არის ერთ-ერთი ყველაზე მნიშვნელოვანი ასპექტი ვებ აპლიკაციების შემუშავებაში. ამერიკული ორგანიზაცია OWASP Foundation, defiაფიქსირებს უსაფრთხოების ძირითად დაუცველობას, როგორიცაა SQL ინექცია, მოთხოვნის გაყალბება, სკრიპტირება და ა.შ.

CRON: კონფიგურაციისა და მართვის აქტივობების დაგეგმვა

WEB აპლიკაციებს ყოველთვის სჭირდებათ ამოცანების დაგეგმვის მექანიზმები, რათა დაგეგმონ და შეასრულონ ამოცანები დროულად. მაგალითად, როდის უნდა გაუგზავნოთ წერილები აბონენტებს ან როდის გავასუფთავოთ მონაცემთა ბაზის ცხრილები დღის ბოლოს. ამოცანების დასაგეგმად, დეველოპერებმა უნდა შექმნან Cron ჩანაწერი თითოეული ამოცანისთვის და Laravel-ის ბრძანების გრაფიკი defiმთავრდება ბრძანების დაგეგმვა.

ლარაველის პროექტის შექმნა

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

ამის შემდეგ შექმენით ახალი დირექტორია თქვენს სისტემაში თქვენი ახალი Laravel პროექტისთვის. შემდეგი, გადადით გზაზე, სადაც შექმენით ახალი დირექტორია და გაუშვით პროექტის შექმნის ბრძანება composer create-projectშემდეგი ბრძანების აკრეფით:

composer create-project laravel/laravel myex-app

ეს ბრძანება (ვერსია 9.x) ქმნის პროექტს სახელად myex-app

ან შეგიძლიათ შექმნათ ახალი პროექტები Laravel გლობალურად ინსტალატორის დაყენება Laravel პროცედურა Composer:

საინფორმაციო ბიულეტენი
არ გამოტოვოთ ყველაზე მნიშვნელოვანი სიახლეები ინოვაციების შესახებ. დარეგისტრირდით, რომ მიიღოთ ისინი ელექტრონული ფოსტით.
composer global require laravel/installer
laravel new myex-app

პროექტის შექმნის შემდეგ გაუშვით ლოკალური Laravel განვითარების სერვერი ბრძანების გამოყენებით serve საქართველოს "Artisan CLI of Laravel:

php artisan serve

განვითარების სერვერის გაშვების შემდეგ Artisan, თქვენი აპლიკაცია ხელმისაწვდომი იქნება თქვენს ვებ ბრაუზერში მისამართზე http://localhost:8000. ახლა თქვენ მზად ხართ გამოსაყენებლად Laravel. რა თქმა უნდა, შეიძლება დაგჭირდეთ მონაცემთა ბაზის შექმნაც.

განაცხადის სტრუქტურა Laravel-ში

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

config

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

მონაცემთა ბაზა

ეს დირექტორია შეიცავს სხვადასხვა პარამეტრებს მონაცემთა ბაზის ფუნქციონირებისთვის. იგი მოიცავს სამ ქვედირექტორიას:

  • Seeds: შეიცავს კლასებს, რომლებიც გამოიყენება ერთეული ტესტის მონაცემთა ბაზაში;
  • მიგრაცია: ეს საქაღალდე გამოიყენება DB სტრუქტურის აპლიკაციის გენერირებისთვის და გასწორებისთვის;
  • Factories: ეს საქაღალდე გამოიყენება დიდი რაოდენობით მონაცემთა ჩანაწერების შესაქმნელად.
საჯარო

ეს არის root საქაღალდე, რომელიც ეხმარება Laravel აპლიკაციის ინიციალიზაციას, ანუ აპლიკაციის დაწყებას. შეიცავს შემდეგ ფაილებს და საქაღალდეებს:

  • .htaccess: ფაილი, რომელიც უზრუნველყოფს სერვერის კონფიგურაციას;
  • javascript და css: შეიცავს Laravel აპლიკაციის ყველა რესურს ფაილს;
  • index.php: ფაილი, რომელიც საჭიროა ვებ აპლიკაციის ინიციალიზაციისთვის.
რესურსები

რესურსების დირექტორია შეიცავს ფაილებს, რომლებიც აძლიერებენ ვებ აპლიკაციას. ამ დირექტორიაში შემავალი ქვესაქაღალდეები და მათი დანიშნულება:

  • აქტივები: საქაღალდე შეიცავს ფაილებს, როგორიცაა LESS და SCSS, რომლებიც აუცილებელია ვებ აპლიკაციის სტილისთვის;
  • ენა: მოიცავს ლოკალიზაციის ან ინტერნალიზების კონფიგურაციას;
  • ხედები: არის HTML ფაილები ან შაბლონები, რომლებიც ურთიერთქმედებენ საბოლოო მომხმარებლებთან და თამაშობენ მთავარ როლს MVC არქიტექტურაში.
შენახვის სივრცე

ეს არის საქაღალდე, რომელიც ინახავს ყველა ჟურნალს და ფაილს, რომლებიც საჭიროა Laravel პროექტის გაშვებისას. ქვემოთ მოცემულია ქვესაქაღალდეები, რომლებიც შედის ამ დირექტორიაში და მათი მიზანი −

  • app: ეს საქაღალდე შეიცავს ზედიზედ გამოძახებულ ფაილებს;
  • ჩარჩო: შეიცავს სესიებს, ქეშებს და ხედებს, რომლებსაც ხშირად იძახიან;
  • ჟურნალები: შეიცავს ფაილებს, რომლებიც ასახავს მუშაობის დროის პრობლემებს, განსაკუთრებით ყველა გამონაკლისისა და შეცდომის ჟურნალს.
ტესტიs

ყველა ერთეული ტესტის შემთხვევა შეიცავს ამ დირექტორიაში. სატესტო შემთხვევის კლასების დასახელება არის camel_case და მიჰყვება დასახელების კონვენციას, რომელიც ეფუძნება კლასის ფუნქციონირებას.

Vendor

Laravel დაფუძნებულია მართულ დამოკიდებულებებზე დაკომპლექტებას, მაგალითად, დააინსტალიროთ Laravel კონფიგურაცია ან ჩართოთ მესამე მხარის ბიბლიოთეკები და ა.შ.

გამყიდველის საქაღალდე შეიცავს ყველა დამოკიდებულებას დაკომპლექტებას.

Ercole Palmeri

საინფორმაციო ბიულეტენი
არ გამოტოვოთ ყველაზე მნიშვნელოვანი სიახლეები ინოვაციების შესახებ. დარეგისტრირდით, რომ მიიღოთ ისინი ელექტრონული ფოსტით.

ბოლო სტატიები

როგორ მოვაწყოთ მონაცემები და ფორმულები საუკეთესოდ Excel-ში, კარგად გაკეთებული ანალიზისთვის

Microsoft Excel არის მონაცემთა ანალიზის საცნობარო ინსტრუმენტი, რადგან ის გთავაზობთ მრავალ ფუნქციას მონაცემთა ნაკრების ორგანიზებისთვის,…

14 მაისი 2024

დადებითი დასკვნა ორი მნიშვნელოვანი Walliance Equity Crowdfunding პროექტისთვის: Jesolo Wave Island და Milano Via Ravenna

Walliance, SIM და პლატფორმა ევროპის ლიდერებს შორის უძრავი ქონების Crowdfunding-ის სფეროში 2017 წლიდან, აცხადებს დასრულებას…

13 მაისი 2024

რა არის Filament და როგორ გამოვიყენოთ Laravel Filament

Filament არის "აჩქარებული" Laravel განვითარების ჩარჩო, რომელიც უზრუნველყოფს რამდენიმე სრული დასტას კომპონენტს. იგი შექმნილია პროცესის გასამარტივებლად…

13 მაისი 2024

ხელოვნური ინტელექტის კონტროლის ქვეშ

„მე უნდა დავბრუნდე, რომ დავასრულო ჩემი ევოლუცია: მე კომპიუტერში საკუთარ თავს პროექტირებას მოვახდენ და სუფთა ენერგია გავხდები. მას შემდეგ რაც დასახლდა…

10 მაისი 2024

Google-ის ახალ ხელოვნურ ინტელექტს შეუძლია დნმ-ის, რნმ-ის და „სიცოცხლის ყველა მოლეკულის“ მოდელირება.

Google DeepMind წარმოგიდგენთ ხელოვნური ინტელექტის მოდელის გაუმჯობესებულ ვერსიას. ახალი გაუმჯობესებული მოდელი უზრუნველყოფს არა მხოლოდ…

9 მაისი 2024

ლარაველის მოდულური არქიტექტურის შესწავლა

Laravel, რომელიც ცნობილია თავისი ელეგანტური სინტაქსითა და ძლიერი მახასიათებლებით, ასევე უზრუნველყოფს მყარ საფუძველს მოდულური არქიტექტურისთვის. იქ…

9 მაისი 2024

Cisco Hypershield და Splunk-ის შეძენა უსაფრთხოების ახალი ერა იწყება

Cisco და Splunk ეხმარებიან მომხმარებლებს დააჩქარონ მოგზაურობა მომავლის უსაფრთხოების ოპერაციების ცენტრში (SOC)…

8 მაისი 2024

ეკონომიკური მხარის მიღმა: გამოსასყიდის პროგრამის აშკარა ღირებულება

Ransomware დომინირებს სიახლეებში ბოლო ორი წლის განმავლობაში. ადამიანების უმეტესობამ კარგად იცის, რომ თავდასხმები…

6 მაისი 2024

წაიკითხეთ ინოვაცია თქვენს ენაზე

საინფორმაციო ბიულეტენი
არ გამოტოვოთ ყველაზე მნიშვნელოვანი სიახლეები ინოვაციების შესახებ. დარეგისტრირდით, რომ მიიღოთ ისინი ელექტრონული ფოსტით.

Follow us