Artikulo

Ano ang Laravel, kung paano ito gumagana at pangunahing arkitektura para sa paglikha ng mga WEB application

Ang Laravel ay isang web framework na nakabase sa PHP para sa pagbuo ng mga high-end na web application, gamit ang simple ngunit makapangyarihang mga syntax nito.

Ang Laravel PHP framework ay may kasamang solidong koleksyon ng mga tool, at nagbibigay ng arkitektura sa mga application na ginawa. Ito ay isang open source PHP framework, gamit ang MVC architecture:

  • Balangkas: ay ang koleksyon ng mga pamamaraan, klase o mga file na ginagamit ng programmer, at maaari ding palawigin ang kanilang pag-andar gamit ang kanyang sariling code.
  • Arkitektura: ay ang tiyak na pattern ng disenyo na sinusunod ng balangkas. Sinusunod ni Laravel ang arkitektura ng MVC.

mvc

Acronym na binubuo ng tatlong titik, ang kahulugan ay ang mga sumusunod:

  • M: Template. Ang isang modelo ay isang klase na tumatalakay sa isang database. Halimbawa, kung mayroon kaming mga gumagamit sa isang application, magkakaroon kami ng modelo ng mga gumagamit na namamahala sa pag-query sa talahanayan ng mga gumagamit, kung mayroon kaming modelo ng mga gumagamit, magkakaroon din kami ng talahanayan ng mga gumagamit.
  • V: Tingnan. Ang view ay isang klase na nangangalaga sa lahat ng makikita natin tungkol sa application sa browser.
  • C: Mga Controller. Ang controller ay ang tagapamagitan na nangangalaga sa parehong modelo at view. Ang controller ay ang klase na kumukuha ng data mula sa modelo at ipinapadala ito sa view class.

Mga benepisyo at tampok

Paglikha ng mga sistema ng awtorisasyon at pagpapatunay

Dapat tiyakin ng bawat may-ari ng web application na hindi naa-access ng mga hindi awtorisadong user ang mga protektadong mapagkukunan. Nagbibigay ang Laravel ng madaling paraan para ipatupad ang pagpapatunay. Nagbibigay din ito ng madaling paraan upang ayusin ang lohika ng pahintulot at kontrolin ang pag-access sa mga mapagkukunan.

Pagsasama sa mga tool

Ang Laravel ay isinama sa maraming tool na gumagawa ng mas mabilis na app. Ito ay hindi lamang kinakailangan upang lumikha ng app, ngunit din upang lumikha ng isang mas mabilis na app. Ang pagsasama sa caching backend ay isa sa mga pangunahing hakbang upang mapabuti ang performance ng isang web app. Ang Laravel ay isinama sa ilang sikat na caching backend tulad ng Redis at Memcached.

Pagsasama ng serbisyo ng mail

Ang Laravel ay isinama sa serbisyo ng mail. Ginagamit ang serbisyong ito upang magpadala ng mga email ng notification. Nagbibigay ito ng malinis at simpleng API na nagbibigay-daan sa iyong mabilis na magpadala ng email sa pamamagitan ng on-premise o cloud-based na serbisyo.

Subukan ang automation

Napakahalaga ng pagsubok sa isang produkto upang matiyak na gumagana ang software nang walang mga error, bug at pag-crash - sa tuwing may ilalabas na bagong bersyon. Alam namin na ang automated testing ay tumatagal ng mas kaunting oras kaysa sa manu-manong pagsubok, lalo na para sa non-regression testing. Ang Laravel ay binuo na may pagsubok din sa isip.

Paghihiwalay ng business logic code mula sa presentation code

Ang paghihiwalay ng business logic code at presentation code ay nagbibigay-daan sa mga HTML layout designer na baguhin ang hitsura at pakiramdam nang hindi nakikipag-ugnayan sa mga developer. Ang isang bug ay maaaring maayos ng mga developer nang mas mabilis kung ang paghihiwalay sa pagitan ng business logic code (Controller) at presentation code (View) ay ibinigay. Alam namin na ang Laravel ay sumusunod sa MVC architecture, kaya ang paghihiwalay ay susi.

Pag-aayos ng mga pinakakaraniwang teknikal na kahinaan

Ang Laravel ay isang secure na framework dahil pinoprotektahan nito ang web application mula sa lahat ng mga kahinaan sa seguridad. Ang kahinaan ay isa sa pinakamahalagang aspeto sa pagbuo ng web application. Ang organisasyong Amerikano na OWASP Foundation, definililis ang mga pangunahing kahinaan sa seguridad tulad ng SQL injection, request forgery, scripting, at iba pa.

CRON: pagpaplano ng pagsasaayos at mga aktibidad sa pamamahala

Ang mga application ng WEB ay palaging nangangailangan ng mga mekanismo sa pag-iiskedyul ng gawain upang mag-iskedyul at magsagawa ng mga gawain sa oras. Halimbawa, kung kailan magpapadala ng mga email sa mga subscriber o kung kailan maglilinis ng mga talahanayan ng database sa pagtatapos ng araw. Upang mag-iskedyul ng mga gawain, kailangang gawin ng mga developer ang Cron entry para sa bawat gawain, at ang Laravel command scheduler definagtatapos sa pagpaplano ng utos.

Paglikha ng proyekto ng Laravel

Upang lumikha ng iyong unang proyekto ng Laravel, kailangan mong magkaroon ng Composer naka-install. Kung wala ito sa iyong makina, magpatuloy sa pag-install nito gaya ng inilarawan sa aming artikulo sa kompositor.

Pagkatapos nito, lumikha ng isang bagong direktoryo sa iyong system para sa iyong bagong proyekto sa Laravel. Susunod, mag-navigate sa landas kung saan mo ginawa ang bagong direktoryo, at patakbuhin ang command na lumikha ng proyekto composer create-projectsa pamamagitan ng pag-type ng sumusunod na command:

composer create-project laravel/laravel myex-app

Ang utos na ito (bersyon 9.x) ay lumilikha ng proyektong pinangalanan myex-app

O maaari kang lumikha ng mga bagong proyekto Laravel pandaigdigang pag-install ng installer ng Laravel paraan Composer:

newsletter ng pagbabago
Huwag palampasin ang pinakamahalagang balita sa pagbabago. Mag-sign up upang matanggap ang mga ito sa pamamagitan ng email.
composer global require laravel/installer
laravel new myex-app

Pagkatapos likhain ang proyekto, simulan ang lokal na Laravel development server gamit ang command serve ng 'Artisan CLI ng Laravel:

php artisan serve

Pagkatapos simulan ang development server Artisan, maa-access ang iyong application sa iyong web browser sa http://localhost:8000. Ngayon, handa ka nang gamitin Laravel. Siyempre, maaaring gusto mo ring mag-set up ng database.

Istraktura ng aplikasyon sa Laravel

Ang istraktura ng Laravel ay karaniwang istraktura ng mga folder, subfolder at mga file na kasama sa isang proyekto. Kapag nalikha ang isang proyekto sa Laravel, makikita natin ang istruktura ng application tulad ng ipinapakita sa larawan ng Laravel root folder:

config

Kasama sa config folder ang mga configuration at nauugnay na parameter, na kinakailangan para gumana nang maayos ang isang Laravel application. Ang iba't ibang mga file na kasama sa config folder ay nakalista sa larawan sa ibaba. Ang mga pangalan ng file ay kumakatawan sa mga saklaw ng pagsasaayos.

dataBase

Kasama sa direktoryo na ito ang iba't ibang mga parameter para sa functionality ng database. Kabilang dito ang tatlong subdirectory:

  • Seeds: naglalaman ng mga klase na ginamit para sa unit test database;
  • Migrations: ginagamit ang folder na ito para sa pagbuo at pag-align ng istraktura ng DB sa application;
  • Mga Pabrika: Ang folder na ito ay ginagamit para sa pagbuo ng isang malaking bilang ng mga talaan ng data.
Publiko

Ito ang root folder na tumutulong upang simulan ang Laravel application, ibig sabihin, ang simula ng application. Kasama ang mga sumusunod na file at folder:

  • .htaccess: file na nagbibigay ng configuration ng server;
  • javascript at css: naglalaman ng lahat ng resource file ng Laravel application;
  • index.php: file na kailangan para makapagsimula ng isang web application.
Mga mapagkukunan

Ang direktoryo ng Mga Mapagkukunan ay naglalaman ng mga file na nagpapahusay sa web application. Ang mga subfolder na kasama sa direktoryong ito at ang kanilang layunin:

  • mga asset: ang folder ay may kasamang mga file gaya ng LESS at SCSS, na kinakailangan para sa istilo ng web application;
  • lang: isama ang configuration para sa localization o internalization;
  • view: ay ang mga HTML file o template na nakikipag-ugnayan sa mga end user at gumaganap ng pangunahing papel sa arkitektura ng MVC.
Imbakan

Ito ang folder na nag-iimbak ng lahat ng mga log at file na kailangan kapag tumatakbo ang isang proyekto ng Laravel. Nasa ibaba ang mga subfolder na kasama sa direktoryong ito at ang layunin ng mga ito −

  • app: ang folder na ito ay naglalaman ng mga file na sunud-sunod na tinatawag;
  • framework: naglalaman ng mga session, cache at view na madalas na tinatawag;
  • Mga Log: Naglalaman ng mga file na sumusubaybay sa mga problema sa run-time, lalo na lahat ng exception at error log.
Pagsuboks

Ang lahat ng kaso ng pagsubok sa unit ay nakapaloob sa direktoryong ito. Ang pagpapangalan para sa mga klase ng test case ay camel_case at sumusunod sa convention ng pagbibigay ng pangalan batay sa functionality ng klase.

Magtitinda

Ang Laravel ay batay sa mga pinamamahalaang dependencies kompositor, halimbawa para i-install ang setup ng Laravel o isama ang mga library ng XNUMXrd party, atbp.

Ang folder ng Vendor ay naglalaman ng lahat ng mga dependency ng kompositor.

Ercole Palmeri

newsletter ng pagbabago
Huwag palampasin ang pinakamahalagang balita sa pagbabago. Mag-sign up upang matanggap ang mga ito sa pamamagitan ng email.

Kamakailang Mga Artikulo

Pumirma ang mga publisher at OpenAI ng mga kasunduan para i-regulate ang daloy ng impormasyong pinoproseso ng Artificial Intelligence

Noong nakaraang Lunes, inihayag ng Financial Times ang isang deal sa OpenAI. Nilisensyahan ng FT ang world-class na pamamahayag nito...

Abril 30 2024

Mga Online na Pagbabayad: Narito Kung Paano Ka Binabayaran ng Mga Serbisyo ng Streaming Magpakailanman

Milyun-milyong tao ang nagbabayad para sa mga serbisyo ng streaming, na nagbabayad ng buwanang bayad sa subscription. Karaniwang opinyon na ikaw ay…

Abril 29 2024

Itinatampok ng Veeam ang pinakakomprehensibong suporta para sa ransomware, mula sa proteksyon hanggang sa pagtugon at pagbawi

Ang Coveware ng Veeam ay patuloy na magbibigay ng mga serbisyo sa pagtugon sa insidente ng cyber extortion. Mag-aalok ang Coveware ng mga kakayahan sa forensics at remediation...

Abril 23 2024

Green and Digital Revolution: Kung Paano Binabago ng Predictive Maintenance ang Industriya ng Langis at Gas

Binabago ng predictive maintenance ang sektor ng langis at gas, na may makabago at proactive na diskarte sa pamamahala ng halaman.…

Abril 22 2024